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','');
}
?>

11 commentaires à propos de “Ajout d’un menu dans l’interface d’administration de WordPress”

  1. Je suis un débutant, et je cherche d’ajouter un sous menu à un menu déjà existant dans l’administration de wordpress

  2. Bonjour, Pour ajouter un sous-menu à un menu existant, il faut utiliser le nom référence (slug name) du menu : par exemple pour ajouter un sous menu au menu Posts : il faut utiliser ‘edit.php’ en premier paramètre de add_submenu_page() ou utiliser add_posts_page().
    Pour plus de détails voir le codex WordPress : http://codex.wordpress.org/Function_Reference/add_submenu_page

  3. Bonjour
    Merci pour les tutoriels.
    Je suis débutant avec wordpress. Maintenant, je veux créer un plugin qui permet de lister tous les personnels presents dans ma base des données. Comment fait on pour cela?
    Cordialement.

  4. Bonjour !
    Pour obtenir les utilisateurs inscrits, il y a la fonction WordPress « get_users » (http://codex.wordpress.org/Function_Reference/get_users)
    voici un exemple pour une liste d’administateur (role=Administrator)

    <ul>
    <?php
    $admins = get_users('role=Administrator');
    foreach ($admins as $admin)
    {
    echo '<li>' . $admin->display_name. '</li>';
    }
    ?>
    </u>

  5. Bonjour
    Comment voir le nom référence(slug name) pour le add_submenu_page

  6. Bonjour,
    le nom référence(slug name) pour le add_submenu_page est le 5ème paramètre.
    Dans mon exemple :
    add_submenu_page(‘lcrc_mybookcase’, ‘Tous les livres’,
    ‘Tous les livres’, ‘manage_options’, ‘lcrc_mybookcase’, »);
    Le nom référence ‘lcrc_mybookcase’ est le même que le nom référence du menu car il pointe vers la même page.

    Espérant avoir répondu à votre question !

  7. Merci de la réponse mais je viens d’appliquer tout cela dans mon plugin ca ne va pas

    Seul le menu principal s’affiche dans la barre latérale de l’interface wordpress mais le sous menu ne s’affiche pas.Voici mon code:

    // Menu Admin Activation

  8. Bonjour Didier,
    J’ai bien reçu votre fichier.
    J’ai testé votre code et le menu s’affiche bien correctement.
    menu

    Éditez vous directement votre fichier dans le panneau d’administration de WordPress ?
    Si c’est le cas, il faut rafraîchir toute la page après enregistrement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.