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',''); } ?>
Je suis un débutant, et je cherche d’ajouter un sous menu à un menu déjà existant dans l’administration de wordpress
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
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.
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>
Slt, ça marche Nikel
Bonjour
Comment voir le nom référence(slug name) pour le add_submenu_page
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 !
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
Excusez j’ai pas réussi à poster mon code
Bonjour,
vous pouvez m’envoyer votre code par email si vous le souhaitez, j’y jetterai un œil : lucrece@lucrece.net.
Bonjour Didier,

J’ai bien reçu votre fichier.
J’ai testé votre code et le menu s’affiche bien correctement.
É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.