我有一个自定义模板,我插入了以下代码段以删除页面的管理栏:
function hide_admin_bar(){ return false; }
add_filter( \'show_admin_bar\', \'hide_admin_bar\' );
问题是,这仍然会在页面顶部留下一个高度为32px的白色空白条。看看core,我看到了这个函数,但没有办法禁用它。我还试着覆盖
html { margin-top: 0 !important; }
在我的主题样式表中没有用,因为这是直接在页面上输出的。
function _admin_bar_bump_cb() { ?>
<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>
是否有人有一种干净的方法可以完全删除特定模板页面顶部的管理栏(加上空白)?
SO网友:zqcolor
Amit Mishra的回答解决了我的问题,我已经把我的代码放在下面了,非常感谢
管理员可以看到管理栏,其他用户不能。
此解决方案不会留下高度为32px的顶部空白带。仅删除的其他答案_admin_bar_bump_cb
将在顶部留下一条难看的空白带
add_action(\'after_setup_theme\', \'remove_admin_bar_user\');
function remove_admin_bar_user() {
if (current_user_can(\'administrator\') || is_admin() ) {
show_admin_bar(true);
}else{
show_admin_bar(false);
}
}
SO网友:Quy
从3.1.0版开始,WordPress决定在显示端为登录用户添加一个关于网站主题的工具栏。
并在之前添加默认管理栏回调</head>
:
<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>
要删除它,您可以尝试:
add_action(\'get_header\', \'remove_admin_login_header\');
function remove_admin_login_header() {
remove_action(\'wp_head\', \'_admin_bar_bump_cb\');
}