La seconde étape dans la création de mon plugin « MyBookCase » est l’ajout d’un menu dans l’interface d’administration de WordPress :
On souhaite un menu de type :Dans le fichier du plugin on ajoute une fonction register_MyBookCaseMenu. dans cette fonction on appelle la fonction wordpress add_menu_page (codex wordpress).
<?php function register_MyBookCaseMenu() { add_menu_page('MyBookCase', 'MyBookCase', 'manage_options', 'lcrc_mybookcase', '', '', 30); } ?>
avec en paramètre :
- le titre de la page : ‘MyBookCase’
- le titre du menu : ‘MyBookCase’
- le niveau d’autorisation utilisateur pour voir le menu : ‘manage_options’
- le nom référence du menu : ‘lcrc_mybookcase’
- la fonction d’affiche de la page :’ ‘
- l’icône du menu : ‘ ‘
- la position dans l’interface d’administration : 30 pour être entre les commentaires (25) et la barre de séparation (59)
Maintenant nous allons ajouter les sous-menu en appelant la fonction wordpress add_submenu_page (codex wordpress).
<?php function register_MyBookCaseMenu() { add_menu_page('MyBookCase', 'MyBookCase', 'manage_options', 'lcrc_mybookcase', '', '', 30); add_submenu_page('lcrc_mybookcase', 'Tous les livres', 'Tous les livres', 'manage_options', 'lcrc_mybookcase',''); add_submenu_page('lcrc_mybookcase', 'Ajouter un livre', 'Ajouter un livre', 'manage_options', 'MyBookCase/lcrc_mybookcase.php',''); } ?>
avec en paramètre :
- le nom référence du menu parent : ‘lcrc_mybookcase’
- le titre de la page : ‘Tous les livres’ ou ‘Ajouter un livre’
- le titre du sous-menu : ‘Tous les livres’ ou ‘Ajouter un livre’
- le niveau d’autorisation utilisateur pour voir le sous-menu : ‘manage_options’
- le nom référence du menu : ‘lcrc_mybookcase’ ou ‘MyBookCase/lcrc_mybookcase.php’
- la fonction d’affiche de la page :’ ‘
Il ne nous reste plus qu’à déclencher notre fonction register_MyBookCaseMenu avec la fonction wordpress add_action (codex wordpress).
<?php add_action('admin_menu', 'register_MyBookCaseMenu'); ?>
avec en paramètre :
- le nom de la fonction à laquelle on va attacher notre nouvelle fonction : ‘admin_menu’
- le nom de la fonction à attacher : ‘register_MyBookCaseMenu’
Ce qui donne dans son ensemble :
<?php /* Plugin Name: MyBookCase Plugin URI: http://dev.lucrece.net/mybookcase/ Description: Gestion de livres : lus, en cours, à lire. Version: 0.1 Author: Lucrèce Author URI: http://dev.lucrece.net/ */ add_action('admin_menu', 'register_MyBookCaseMenu'); function register_MyBookCaseMenu() { add_menu_page('MyBookCase', 'MyBookCase', 'manage_options', 'lcrc_mybookcase', '', '', 30); add_submenu_page('lcrc_mybookcase', 'Tous les livres', 'Tous les livres', 'manage_options', 'lcrc_mybookcase',''); add_submenu_page('lcrc_mybookcase', 'Ajouter un livre', 'Ajouter un livre', 'manage_options', 'MyBookCase/lcrc_mybookcase.php',''); } ?>