# wp_admin_bar_menu : ajouter un raccourci d’équipe à la barre d’administration

> Où placer un lien vers un tableau de bord interne pour qu'il reste visible sans encombrer les menus habituels ? La barre d'administration a été pensée pour cela.

- Auteur : Clément Hadrot
- Publié le : 2025-09-07
- Mis à jour le : 2025-09-07
- Catégorie : Tips
- URL : https://wpmoderne.dev.wordpress-developpement.fr/tips/wp-admin-bar-menu-raccourci-equipe-barre-administration/

## L’essentiel

- Ajoute un nœud visible en permanence, sur toutes les pages
- S'accroche via un hook dédié à la barre d'administration
- Peut contenir des sous-éléments organisés en arborescence

Où placer un lien vers un tableau de bord de suivi interne, un accès rapide au support, ou un raccourci vers une documentation client, pour qu'il reste visible en permanence sans encombrer un menu déjà chargé ? La barre d'administration, affichée en haut de chaque page pour les utilisateurs connectés, a été conçue précisément pour ce type de raccourci transverse.

Le hook `admin_bar_menu` permet d'y ajouter un nœud personnalisé, avec ses propres sous-éléments si besoin, sans toucher au cœur ni à un thème.

## Le hook et la classe WP_Admin_Bar

L'action `admin_bar_menu` reçoit en paramètre une instance de `WP_Admin_Bar`, et c'est sa méthode `add_node( array $args )` qui permet d'ajouter un élément. Le tableau d'arguments accepte notamment `id` (un identifiant unique), `title` (le texte affiché, qui peut contenir du HTML simple comme une icône), `href` (le lien de destination) et `parent`, qui permet d'imbriquer un nœud sous un autre déjà existant ou personnalisé.

## Un raccourci vers un tableau de bord de suivi client

> L'essentiel à retenir : Ajoute un nœud visible en permanence, sur toutes les pages ; S'accroche via un hook dédié à la barre d'administration ; Peut contenir des sous-éléments organisés en arborescence

Une agence qui maintient plusieurs sites pour ses clients peut ajouter un accès direct à son tableau de suivi de tickets, visible uniquement pour les comptes autorisés à le voir :

```
add_action( 'admin_bar_menu', function ( WP_Admin_Bar $admin_bar ) {
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }

    $admin_bar->add_node( array(
        'id'    => 'suivi-agence',
        'title' => __( 'Suivi agence', 'outillage-agence' ),
        'href'  => 'https://suivi.exemple-agence.test/tickets',
        'meta'  => array( 'target' => '_blank' ),
    ) );

    $admin_bar->add_node( array(
        'id'     => 'suivi-agence-nouveau-ticket',
        'parent' => 'suivi-agence',
        'title'  => __( 'Ouvrir un ticket', 'outillage-agence' ),
        'href'   => 'https://suivi.exemple-agence.test/tickets/nouveau',
    ) );
}, 100 );
```

La priorité `100` passée à `add_action()` n'est pas anodine : elle garantit que le nœud est ajouté après que WordPress a fini de construire les éléments par défaut de la barre, évitant un ordre d'affichage imprévisible si un autre nœud personnalisé dépend du même parent.

## Organiser plusieurs raccourcis en arborescence

Pour une équipe qui a plusieurs besoins à exposer — support, documentation, statut des sauvegardes — regrouper ces raccourcis sous un seul nœud parent garde la barre lisible plutôt que de multiplier les entrées au même niveau :

- Un nœud parent unique, avec un intitulé clair identifiant l'agence ou l'équipe.
- Des sous-nœuds enfants, chacun avec son propre `id` unique et un `parent` pointant vers le nœud principal.
- Un ordre logique entre les sous-nœuds, contrôlé par l'ordre des appels à `add_node()` plutôt que par un tri automatique.

## Restreindre la visibilité selon le rôle

Un raccourci technique interne n'a généralement aucune utilité pour un simple abonné ou un contributeur du site. Vérifier une capacité précise avec `current_user_can()` avant d'appeler `add_node()`, comme dans l'exemple ci-dessus, évite d'exposer un lien vers un outil interne à des comptes qui n'en ont pas l'usage — voire qui ne devraient pas savoir qu'il existe.

> Toujours vérifier la capacité de l'utilisateur avant d'ajouter un nœud sensible à la barre d'administration : un lien visible n'est pas nécessairement un lien accessible, mais autant éviter de le montrer inutilement.

## Retirer un nœud existant plutôt qu'en ajouter un

La même classe `WP_Admin_Bar` expose aussi `remove_node( string $id )`, utile pour épurer la barre d'un nœud par défaut jugé inutile sur un site précis. Cette possibilité dépasse le sujet de cet article, centré sur l'ajout d'un raccourci utile, mais elle mérite d'être connue pour compléter une personnalisation de la barre d'administration côté agence.

## En résumé

La barre d'administration offre un emplacement permanent et discret pour exposer un raccourci qui concerne l'équipe technique plutôt que les utilisateurs finaux du site. Le hook `admin_bar_menu` et la méthode `add_node()` de `WP_Admin_Bar` permettent de l'ajouter en quelques lignes, avec la possibilité de structurer plusieurs raccourcis en arborescence et de restreindre leur visibilité aux seuls comptes concernés.
