Déplacer le menu d’une extension WordPress dans un sous-menu en admin

Déplacer le menu d’une extension WordPress dans un sous-menu en admin

aChaque plugin/extension ajoute ses propres réglages dans l’administration de WordPress. Il faut donc ranger se menu de la manière la plus logique possible. Sauf qu’il y a une tendance générale à vouloir être visible de tous, avoir son logo dans la menu principale. Je dis « oui » pour un plugin conséquent qui a plusieurs page de réglages.

exemple-menu

Cela devient problématique quand on commence a voir pas mal d’extensions, la liste se rallonge et on commence à maudire le petit plugin qui s’est ajouté alors qu’il a juste une page d’information.

Heureusement WordPress permet de configurer la liste du menu et sous menu.

Je vais prendre l’exemple du plugin SG CachePress, un plugin de cache réserver à l’hébergeur Siteground (que je recommande au passage, très bon services et support client) qui n’a qu’une seule page d’options et se retrouve dans la liste principale.
Je vais donc le déplacer logiquement dans les réglages (ca aurait très bien pu être « Outils »)

[pastacode lang= »php » manual= »%0A%2F**%0A%20*%20Filtre%20permettant%20de%20d%C3%A9placer%20le%20menu%20de%20SG%20CachePress%20dans%20les%20r%C3%A9glages%0A%20*%2F%0Aadd_action(‘admin_menu’%2C%20’ctw_move_cachepress_to_settings’%2C%20100%20)%3B%0A%0Afunction%20ctw_move_cachepress_to_settings()%7B%0A%0A%09global%20%24menu%3B%0A%0A%09if%20(%20is_plugin_active(%20’sg-cachepress%2Fsg-cachepress.php’%20)%20)%7B%20%2F%2F%20On%20v%C3%A9rifie%20si%20le%20plugin%20existe%20et%20est%20actif%0A%0A%09%09%2F**%0A%09%09*%20Petite%20astuce%2C%20on%20commence%20%20%C3%A0%20lire%20le%20tableau%20%C3%A0%20l’envers%2C%20car%20les%20plugin%20s%20ont%20tendance%20a%20%C3%AAtre%20plac%C3%A9%20%C3%A0%20la%20fin%0A%09%09*%2F%0A%09%09foreach%20(%20array_reverse(%20%24menu%2C%20TRUE)%20as%20%24key%20%3D%3E%20%24value%20)%20%7B%20%0A%0A%09%09%09if(%20SG_CachePress%3A%3APLUGIN_SLUG%20%3D%3D%20%24value%5B2%5D%20)%20%7B%20%2F%2F%20Si%20le%20slug%20est%20%C3%A9gal%20%C3%A0%20la%20valeur%20du%20menu%0A%0A%09%09%09%09%2F%2F%20On%20%20d%C3%A9place%20%20vers%20un%20sous-menu%20de%20r%C3%A9glage%0A%09%09%09%09add_options_page(%0A%09%09%09%09%09%24value%5B0%5D%2C%20%2F%2F%20Page%20title%0A%09%09%09%09%09%24value%5B1%5D%2C%20%20%20%20%2F%2F%20Menu%20item%20title%0A%09%09%09%09%09%24value%5B2%5D%2C%20%20%2F%2F%20Capability%0A%09%09%09%09%09%24value%5B3%5D%2C%20%20%20%2F%2F%20Page%20slug%0A%09%09%09%09%09%24value%5B4%5D%20%20%20%20%2F%2F%20%20Callback%0A%09%09%09%09)%3B%0A%09%09%09%09%2F%2F%20On%20supprime%20dans%20le%20menu%20g%C3%A9n%C3%A9rale%0A%09%09%09%09unset(%20%24menu%5B%20%24key%20%5D%20)%3B%0A%0A%09%09%09%09break%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%7D » message= »Déplacement de SG CachePress dans les Réglages » highlight= » » provider= »manual »/]

Les variables à retenir :

[pastacode lang= »php » manual= »%2F**%0A*%20Variable%20globale%20%3A%20Tableau%20des%20menus%20principaux%20de%20l’amdin%20WordPress%0A*%2F%0Aglobal%20%24menu%3B%0A%0A%2F**%0A*%20Variable%20globale%20%3A%20Tableau%20des%20sous-menus%20de%20l’amdin%20WordPress%0A*%2F%0Aglobal%20%24submenu%3B%0A » message= »Variables globale menu et sous-menu » highlight= » » provider= »manual »/]

Documentation : https://codex.wordpress.org/Administration_Menus

add_menu_page() qui permet d’ajouter un menu principal.

add_submenu_page() qui permet d’ajouter un sous-menu.

Et les fonctions qui est découlent : add_dashboard_page(), add_posts_page(), add_media_page(), add_links_page(), add_pages_page(), add_comments_page(),add_theme_page(), add_plugins_page(), add_users_page(), add_management_page()

Les fonctions de suppressions : remove_menu_page(), , remove_submenu_page(),

 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *