Админ бар — это верхняя темная панель с десятком кнопок, она используется для управления сайтом. В предыдущей статье мы разобрались как добавить на эту панель свои элементы, но может случиться и так, что вам понадобиться наоборот убрать с этой панели какие-то ссылки.
Чтобы это сделать воспользуйтесь хуком add_admin_bar_menus
. Код ниже уберет все элементы с панели админ бара, вы можете оставить только те, которые нужны вам.
add_action( 'add_admin_bar_menus', function() {
// Удаляем внутренние ссылки меню профиля
remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 0 );
// Удаляем поиск
remove_action( 'admin_bar_menu', 'wp_admin_bar_search_menu', 4 );
// Удаляем все меню профиля
remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_item', 7 );
// Удаляем кнопку меню
remove_action( 'admin_bar_menu', 'wp_admin_bar_sidebar_toggle', 0 );
// Удаляем меню профиля
remove_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
// Удаляем меню "мои сайты"
remove_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
// Удаляем все меню текущего сайта
remove_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 );
// Удаляем меню с настройками темы
remove_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 40 );
// Удаляем меню с обновлениями
remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 50 );
if ( !is_network_admin() && !is_user_admin() ) {
// Удаляем меню с комментарии
remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
// Удаляем добавление записи, страницы, медиафайла и т.д.
remove_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 70 );
}
// Удаляем меню "редактировать""
remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 80 );
// Удаляем всю дополнительную группу справа в меню
remove_action( 'admin_bar_menu', 'wp_admin_bar_add_secondary_groups', 200 );
});
Этот пример показывает, как удалять только базовые элементы меню. А если быть точнее, то не добавлять их в панель в принципе. Но, если элементы в админ бар добавлены не самим WordPress, а, допустим, с помощью плагина, то вам пригодится следующий пример:
// Удаляем пункт из тулбара
add_action( 'wp_before_admin_bar_render', 'remove_item_from_admin_bar', 99 );
function remove_item_from_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu( 'custom-menu' );
}
Здесь мы на хуке wp_before_admin_bar_render
с помощью метода remove_menu()
удаляем из админ бара элемент с ID 'custom-menu'
О том, как полностью отключить вывод админ бара для пользователей: как убрать админ бар для пользователей.