Ajouts au tableau de bord

Beaucoup de plugins nécessitent une configuration. Celle-ci est réalisée par l’ajout de menus au tableau de bord.

Création d’un menu

La création de menus se fait depuis le fichier principal du plugins en liant une fonction de création par « add_action » au moment « admin_menu ».

La fonction de création demandera à WordPress l’ajout d’un ou plusieurs menu.

Chaque menu doit avoir un nom, la page qu’il ouvrira aussi. On doit aussi indiquer à partir de quelles capacités d’utilisateur le menu sera visible et indiquer le nom du fichier qui sera la page à ouvrir.

Selon l’emplacement du menu dans le tableau de bord différentes fonctions existent.

Ajout au niveau du tableau de bord :

add_menu_page ('Titre page', 'Titre menu', 'capacité_mini', 'fichier de page')

Pour les capacités , on en trouvera la liste ici (en français !) : https://codex.wordpress.org/fr:R%C3%B4les_et_Capacit%C3%A9s

Il faudra veiller, dans les pages du menu, à vérifier encore les capacités pour éviter l’utilisation inopinée de ces pages avec, par exemple :

if  ( ! current_user_can('edit_pages') ) die ( "Interdit" );

« edit_pages » correspond au rôle éditeur.

Ajout d’un sous-menu

Pour les menus implicites du tableau de bord, on peut ajouter des sous-menus en remplaçant le nom de la fonction précédente (« add_menu_page ») par celui de la fonction du menu considéré.

add_options_page ( 'Titre page', 'Titre menu', 'capacité_mini', 'fichier de page')

Pour ajouter au menu « Réglages ».

Une autre fonction rempli le même rôle, elle est utile pour ajouter un sous-menu à un menu non implicite.

add_submenu_page ( 'fichier du menu', 'Titre page', 'Titre menu', 'capacité_mini', 'fichier de page')

On place avant les paramètres vus précédemment, le nom du fichier page du menu parent.

En savoir plus…
https://codex.wordpress.org/Administration_Menus

Exemple

On ne présente plus l’en-tête dans l’exempe

function menu_de_diaporama() {
 $rep_plug= plugin_dir_path( __FILE__ );
 add_menu_page('Gestion diaporamas', 'Diaporamas', 'manage_options', $rep_plug . 'gestion.php');
 add_submenu_page($rep_plug . 'gestion.php', 'Ajout diaporama', 'Ajouter', 'manage_options', $rep_plug . 'ajout.php'); 
}
add_action( 'admin_menu', 'menu_de_diaporama' );

On crée un menu au tableau de bord « Diaporamas » qui ouvrira le fichier « gestion.php » dont le titre de pages est « Gestion diaporamas » et un sous menu « Ajouter » pour le fichier « ajout.php » de titre de page « Ajout diaporama ». Ces menus ne sont accessibles qu’à ceux qui disposent le la capacité « manage_options », les administrateurs.