Customiser la barre d’admin WordPress
Vous voulez utiliser la barre d’administration de WordPress pour vos visiteurs ? Pour vos clients ? Proposer des accès rapides à certains éléments ? Afficher un message d’accueil sympa ?
WordPress à déjà prévu un hook pour vous ! “admin_bar_menu“.
1. Pour ajouter un lien il suffit de faire :
function add_page_admin_bar( $wp_admin_bar ) { $args = array( 'id' => 'codex-wp', 'title' => 'Codex WordPres', 'parent' => '', 'href' => 'codex.wordpress.org', 'meta' => array( 'class' => 'my-toolbar-page', 'target' => '_blank', 'title' => 'Codex WordPres', ) ); $wp_admin_bar->add_node( $args ); } add_action( 'admin_bar_menu', 'add_page_admin_bar', 999 );
Je passe volontairement sur certains paramètres qui sont assez explicite, pour “parent” il faut indiquer l’id du menu sur lequel vous voulez vous greffer.
2. Un petit code pour trouver facilement l’id du menu (il remplace le titre des menus par leurs identifiants).
function all_toolbar_nodes( $wp_admin_bar ) { $all_toolbar_nodes = $wp_admin_bar->get_nodes(); foreach ( $all_toolbar_nodes as $node ) { $args = $node; $args->title = '<span class="my-class"></span>' . $node->id; $wp_admin_bar->add_node( $args ); } } add_action( 'admin_bar_menu', 'all_toolbar_nodes', 999 );
Ce code peut également servir de base si vous souhaitez simplement modifier des liens existant.
Vous pouvez essayer ‘parent’ => ‘new-content’, votre lien devrait se trouver dans le menu “+ Créer”.
le paramètre “méta” retourne un tableau de plusieurs paramètres, dans mon exemple je vous en montre que 3 (les 3 plus utiles).
Pour avoir toutes les options possibles je vous invite à voir le codex.
3. Pour supprimer un lien ou un groupe de liens :
function remove_wp_logo( $wp_admin_bar ) { $wp_admin_bar->remove_node( 'new-content' ); } add_action( 'admin_bar_menu', 'remove_wp_logo', 999 );
En bonus un petit message de bienvenue pour l’utilisateur connecté :
function add_welcome_admin_bar( $wp_admin_bar ) { $user = wp_get_current_user(); $args = array( 'id' => 'welcome-user', 'title' => 'Bienvenue <i>'. $user->display_name . '</i>, Bonne lecture !', ); $wp_admin_bar->add_node( $args ); } add_action( 'admin_bar_menu', 'add_welcome_admin_bar', 999 );