问题描述

登录后,管理栏将以下内容添加到我的页面<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');

我想在 admin 界面中保留管理员栏,只能从前端删除 CSS 。

我已经使用 CSS 重置,我设置了 margin: 0px,但 admin-bar 样式覆盖了这一点。

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

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

最佳解决方案

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

次佳解决方案

f 要从页面中删除管理栏 (工具栏) 和 bump 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)

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。