Je souhaite désactiver le champ de recherche de la barre d'administration lorsque certains utilisateurs appartenant à des rôles spécifiques sont connectés. Je souhaite que le champ de recherche reste disponible pour le rôle "admin", mais pas pour les autres.
Ce message me dit comment supprimer complètement la barre d’administration, mais ne donne aucune information sur la manière de supprimer sélectivement des éléments de celle-ci.
Est-ce que quelqu'un a de l'expérience avec ça?
Merci, jml
Juste au cas où quelqu'un trébucherait dessus ... voici comment vous supprimez "recherche" et quelques exemples d'autres choses que vous pouvez supprimer de la barre d'administration:
public function remove_admin_menu_bar_items ($wp_toolbar) {
$wp_toolbar->remove_node( 'my-sites' );
$wp_toolbar->remove_node( 'wp-logo' );
$wp_toolbar->remove_node( 'new-content' );
$wp_toolbar->remove_node( 'view' );
$wp_toolbar->remove_node( 'search' ); // remove the search element
return $wp_toolbar;
}
add_filter( 'admin_bar_menu', 'remove_admin_menu_bar_items' );
Référence du Codex: https://codex.wordpress.org/Function_Reference/remove_node
Et pour répondre complètement à la question, vous pouvez exécuter ce code (à l'aide d'une logique conditionnelle), en commençant par interroger l'utilisateur actuel si vous souhaitez tester un rôle/une capacité spécifique:
$current_user = wp_get_current_user();
$ current_user sera un objet et l’une des propriétés est le (s) rôle (s) de l’utilisateur.
Référence du Codex: https://codex.wordpress.org/Function_Reference/wp_get_current_user