Le plug-in de Yoast est en fait un très bon exemple si tout ce que vous voulez faire est d'ajouter des menus. Fondamentalement, la barre d'administration n'est qu'un ensemble alternatif de liens vers les mêmes pages d'administration de plug-in que vous avez dans la barre latérale. Pour ajouter le menu SEO de niveau supérieur, Yoast fait ce qui suit:
$wp_admin_bar->add_menu( array( 'id' => 'wpseo-menu', 'title' => __( 'SEO' ), 'href' => get_admin_url('admin.php?page=wpseo_dashboard'), ) );
Cela ajoute un menu nommé "wpseo-menu" à la barre d'administration et dirige les utilisateurs vers le tableau de bord du plug-in lorsqu'ils cliquent sur le lien. Les liens enfants sont ajoutés de la même manière:
$wp_admin_bar->add_menu( array( 'parent' => 'wpseo-menu', 'id' => 'wpseo-kwresearch', 'title' => __( 'Keyword Research' ), '#', ) );
Vous spécifiez simplement le "parent" du menu que vous ajoutez.
Ensuite, vous pouvez aller aussi loin que vous le souhaitez, en appelant $wp_admin_bar->add_menu()
quand vous en avez besoin et en spécifiant les informations appropriées.
Pour référence, la variable $wp_admin_bar
est une instance de la classe WP_Admin_Bar()
dans WordPress. Il a plusieurs méthodes et propriétés différentes, mais celle qui vous intéresse le plus ici est évidemment add_menu()
. Cette méthode accepte certains paramètres:
- title - false par défaut
- href - false par défaut,
- parent - false par défaut - passez la valeur ID pour un sous-menu de ce menu
- id - par défaut à une valeur de titre filtrée.
- meta - default false - tableau de l'une des options suivantes:
array( 'html' => '', 'class' => '', 'onclick' => '', target => '' );
Mais le reste de la WP_Admin_Bar()
classe est enfichable. Cela dépend simplement de ce que vous essayez de faire exactement et de la façon dont vous voulez le faire.
Voir également: