Site icon Code The World

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

Menu café chargé

Menu chargé

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.

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(),

 

Quitter la version mobile