删除令人讨厌的WP管理员栏CSS

时间:2019-10-01 作者:FooBar

我试图删除恼人的WP管理栏css。

<style type="text/css" media="screen">
html { margin-top: 32px !important; }
* html body { margin-top: 32px !important; }
@media screen and ( max-width: 782px ) {
    html { margin-top: 46px !important; }
    * html body { margin-top: 46px !important; }
}
</style>
我尝试过(根据其他旧答案):

/**
 * Remove admin bar CSS
 */

  function remove_admin_login_header() {
      remove_action(\'wp_head\', \'_admin_bar_bump_cb\');
  }
  add_action(\'get_header\', \'remove_admin_login_header\');
它不起作用。

4 个回复
SO网友:Dallas Price

早上好

这个过滤器应该可以工作add_filter(\'show_admin_bar\', \'__return_false\');wordpress codex.

或者,您可以对特定用户禁用它。enter image description here

SO网友:Vincent Guesné

您可以为每个人禁用它:

add_filter(\'show_admin_bar\', \'__return_false\');
或者有条件地隐藏它:

 add_filter(\'show_admin_bar\', \'my_function_to_hide_it\');
function my_function_to_hide_it(){
// condition and return true or false 
}
所有详细信息:https://codex.wordpress.org/Function_Reference/show_admin_bar

SO网友:Christopher Geary

根据WordPress源代码中的注释确定正确的方法wp-includes/class-wp-admin-bar.php:60 是通过主题支持删除CSS回调。

这看起来像:

add_action(\'after_setup_theme\', function () {
    add_theme_support(\'admin-bar\', [\'callback\' => \'__return_false\']);
});

SO网友:Pacicio

此过滤器删除CSS并隐藏整个站点上的adminbar:

function hide_admin_bar_from_front_end(){
    remove_action( \'wp_head\', \'_admin_bar_bump_cb\' );
    return false;
}
add_filter( \'show_admin_bar\', \'hide_admin_bar_from_front_end\' );
如果只想禁用CSS,则必须返回true 而不是false.

如果您有条件需要:

function wpse_maybe_remove_adminbar() {
    if ( your_condition ) {
        add_filter( \'show_admin_bar\', \'hide_admin_bar_from_front_end\' );
    }
}
add_action(\'wp_head\', \'wpse_maybe_remove_adminbar\', 0);

function hide_admin_bar_from_front_end(){
    remove_action( \'wp_head\', \'_admin_bar_bump_cb\' );
    return false;
}