add_menu_page()
Définition : add_menu_page() crée une entrée de premier niveau dans le menu de l’administration WordPress. Elle permet à une extension de disposer d’un écran principal indépendant, avec titre, capacité requise et callback d’affichage.
Terminologie
Terme officiel : add_menu_page()
Autres appellations : Menu principal d’administration
À quoi cela sert
Cette fonction est adaptée aux plugins comportant un espace métier important : suivi de dossiers, tableau de bord ou centre de gestion. Elle évite de disperser plusieurs écrans centraux dans les menus standards.
Comment cela fonctionne
La déclaration intervient à admin_menu. WordPress enregistre un slug de page et une capacité minimale. Le callback produit l’interface ; il doit contrôler lui-même que l’utilisateur est autorisé à y accéder.
Dans quel contexte l’utiliser
À utiliser lorsque l’extension possède un espace fonctionnel central, et non pour un simple champ de configuration.
Exemple concret
Un plugin gère un tableau de bord documentaire ATOOLPHA et veut afficher une entrée distincte dans le menu latéral.
Exemple de code commenté
<?php
add_action( 'admin_menu', function () {
add_menu_page(
'Centre ATOOLPHA', 'Centre ATOOLPHA',
'manage_options', 'atoolpha-centre',
function () {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( 'Accès refusé.' );
}
echo '<div class="wrap"><h1>Centre ATOOLPHA</h1></div>';
},
'dashicons-welcome-learn-more', 65
);
} );
Explication pas à pas de l’exemple
L’entrée Centre ATOOLPHA est ajoutée au premier niveau de l’administration. Le callback affiche un écran minimal uniquement pour les utilisateurs disposant de manage_options. L’icône utilise le nom d’un Dashicon WordPress.
Résultat attendu
Un menu principal supplémentaire apparaît pour le profil autorisé, avec un écran de base prêt à être enrichi.
Précautions et limites
Créer trop de menus principaux nuit à l’ergonomie. Vérifier les droits sur chaque action serveur, pas seulement sur la page visible.
À ne pas confondre
add_menu_page() crée un menu principal ; add_submenu_page() ajoute une page sous un menu déjà existant.
Termes associés
- add_submenu_page()
- add_options_page()
- admin_menu
