Панель администратора CSS оставлена ​​после удаления

Я использую следующий код, чтобы удалить панель администратора (запрос клиента).

add_filter( 'show_admin_bar', '__return_false' ); 

Проблема в том, что он оставляет некоторый автогенерирующий CSS, который помещает массивную белую линию вверху моей страницы на свое место (через правило верхнего поля 28px). Как я могу отключить это?

Solutions Collecting From Web of "Панель администратора CSS оставлена ​​после удаления"

Чтобы полностью удалить панель администратора, отмените js и css с помощью wp_degregister_script и удалите действие.

 if (!is_admin() && !current_user_can('add_users')){ wp_deregister_script( 'admin-bar' ); wp_deregister_style( 'admin-bar' ); remove_action('wp_footer','wp_admin_bar_render',1000); } 

Я думаю, что вы добавили этот фильтр слишком поздно (по init ?), Так что инициализация действительно происходит, а остальное – нет.

Три места, которые проверяют show_admin_bar (через is_admin_bar_showing() ):

  • _wp_admin_bar_init() , вызванный init . Это создает экземпляр класса WP_Admin_Bar , который перехватывает wp_head и добавляет маркер 28px вверху .
  • get_body_class() добавляет класс admin-bar в тег body (странно, что это не делается, подключаясь к body_class ?)
  • wp_admin_bar_render() выполняет фактический рендеринг. Если вы отключите это, но не первое, вы получите пустую область вверху.

Поскольку _wp_admin_bar_init() вызывается в init , вы опоздаете, если вы также добавите фильтр show_admin_bar в init , если вы не измените приоритет.

Это не приведет к панели администратора, но добавит 28px margin:

 add_filter( 'init', 'wpse13875_init' ); function wpse13875_init() { add_filter( 'show_admin_bar', '__return_false' ); } 

Это полностью отключит панель администратора, потому что она будет выполнена до _wp_admin_bar_init() :

 add_filter( 'init', 'wpse13875_init', 9 ); function wpse13875_init() { add_filter( 'show_admin_bar', '__return_false' ); } 

см. этот ответ , было полным решением, включая выгрузку скриптов и стилей. Крючок удалит панель администратора, но не загрузку js и css.

Не можете ли вы просто переопределить CSS – возможно, самый простой способ – добавить отображение: none, независимо от того, какой селектор панели управления