Ajout d’un menu dans l’interface d’administration de WordPress

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 :menu MyBookCaseDans 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 :

  1. le titre de la page : ‘MyBookCase’
  2. le titre du menu : ‘MyBookCase’
  3. le niveau d’autorisation utilisateur pour voir le menu : ‘manage_options’
  4. le nom référence du menu : ‘lcrc_mybookcase’
  5. la fonction d’affiche de la page :’ ‘
  6. l’icône du menu : ‘ ‘
  7. 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 :

  1. le nom référence du menu parent : ‘lcrc_mybookcase’
  2. le titre de la page : ‘Tous les livres’ ou ‘Ajouter un livre’
  3. le titre du sous-menu : ‘Tous les livres’ ou ‘Ajouter un livre’
  4. le niveau d’autorisation utilisateur pour voir le sous-menu : ‘manage_options’
  5. le nom référence du menu : ‘lcrc_mybookcase’ ou ‘MyBookCase/lcrc_mybookcase.php’
  6. 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 :

  1. le nom de la fonction à laquelle on va attacher notre nouvelle fonction : ‘admin_menu’
  2. 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','');
}
?>