我如何删除管理栏(造型)从前端只?

时间:2011-10-05 作者:Steven

登录后,管理栏会将以下内容添加到我的页面<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重置margin: 0px, 但管理栏样式覆盖了这一点。

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

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

4 个回复
最合适的回答,由SO网友:Maxim Krizhanovsky 整理而成

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\');

SO网友:jjeaton

如果要从页面中删除管理栏(工具栏)和凹凸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\' );
The_admin_bar_bump_cb 函数是插入CSS的函数(位于wp includes/admin bar.php中)

SO网友:l2aelba

I would do something like this :

Remove admin bar / CSS in head / body class

show_admin_bar(false);
或者,如果您只是想:Remove html margin-top CSS in <head>

function remove_admin_bar_bump() {
   remove_action(\'wp_head\', \'_admin_bar_bump_cb\');
}
add_action(\'get_header\', \'remove_admin_bar_bump\');
Tested : 版本4.7.3

SO网友:andxyz

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

以下是我摆脱了从\\u admin\\u bar\\u bump\\u cb函数注入样式的方法。我在函数中添加了以下内容。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\' );

结束

相关推荐