如何仅从前端删除管理栏(样式)?


10

登录后,管理栏将以下内容添加到我的页面<head>部分:

<style media="screen" type="text/css">
    html { margin-top: 28px !important; }
    * html body { margin-top: 28px !important; }
</style>

现在,我可以通过禁用管理栏来删除它

/* Disable the Admin Bar. */
add_filter( 'show_admin_bar', '__return_false' );

或将其完全删除

/* Remove admin bar */
remove_action('init', 'wp_admin_bar_init');

我想将管理栏保留在管理界面中,仅从前端删除CSS。

我已经在设置位置使用CSS reset margin: 0px,但是管理栏样式将其覆盖。

那么如何从前端删除样式呢?

PS。我知道我可以禁用每个用户的管理栏,但这不是我想要的。

Answers:


21
function hide_admin_bar_from_front_end(){
  if (is_blog_admin()) {
    return true;
  }
  return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );

编辑:

正如@Walf在评论中建议的那样,可以这样写:

add_filter('show_admin_bar', 'is_blog_admin');

1
啊:)我尝试类似方法时正在测试管理员。忘记了is_blog_admin。谢谢:)
史蒂文

哪个文件可以进入...我对WP还是很

@HiroProtagonist可以在您的主题的任何插件或functions.php中定义。
Maxim Krizhanovsky 2012年

2
您可以将其缩短一点:add_filter( 'show_admin_bar', function (){ return is_blog_admin() });
MiCc83 '16

1
您可以将其缩短很多add_filter('show_admin_bar', 'is_blog_admin');我建议进行修改,但被拒绝了。我猜这两个功能强大的审阅者将其视为太多更改,却没有意识到它是完全相同的。
沃尔夫,

5

如果要从页面中删除管理栏(工具栏)和凹凸CSS,请使用以下命令:

function wpse_99333_hide_admin_bar_from_front_end(){
  if ( is_blog_admin() ) {
    return true;
  }
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return false;
}
add_filter( 'show_admin_bar', 'wpse_99333_hide_admin_bar_from_front_end' );

_admin_bar_bump_cb功能是插入CSS的功能(位于wp-includes / admin-bar.php中)


1

我会做这样的事情:

在head / body类中删除管理栏/ CSS

show_admin_bar(false);

或者,如果您只是想:在中删除html边距最高的CSS<head>

function remove_admin_bar_bump() {
   remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');

已测试:版本4.7.3


0

我最近不得不这样做,我只是想删除wordpress的默认内联CSS样式(用于管理栏),但是我确实希望保留管理栏。我在页面底部而不是顶部显示管理栏。

这就是为我摆脱_admin_bar_bump_cb函数的样式的方法。我在我的functions.php中添加了以下内容

// remove wordpress trying to style the admin bar with inline css
function hide_admin_bar_from_front_end(){
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return true;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.