最合适的回答,由SO网友:Ignat B. 整理而成
事实是
<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>
是由wp core在站点顶部为管理栏添加的。
下面的技巧将从HTML输出中删除这些CSS,只需将此代码添加到functions.php
add_action(\'get_header\', \'my_filter_head\');
function my_filter_head() {
remove_action(\'wp_head\', \'_admin_bar_bump_cb\');
}
UPDATE
回答问题启动器请求。
1) 如果您登录,默认情况下会显示管理栏。It包装器具有id="wpadminbar"
在HTML响应中。
它还排队/wp-includes/js/admin-bar.min.js
编写脚本并在页面底部添加“支持脚本”。
2) 当您在“用户->用户记录->查看站点时显示工具栏”复选框中查看指定用户的站点时,可以禁用管理栏。
此外,您还可以在functions.php
(使用show_admin_bar
此处描述的过滤器How do I remove the admin bar (styling) from frontend only?)
3) 在WP源代码中_admin_bar_bump_cb()
看起来像这样。可在以下网址找到wp-includes/admin-bar.php
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>
<?php
}
此函数用于作为操作添加到
wp_head
在…内
wp-includes/class-wp-admin-bar.php
以这种方式:
if ( empty($header_callback) )
$header_callback = \'_admin_bar_bump_cb\';
add_action(\'wp_head\', $header_callback);
通过删除
_admin_bar_bump_cb
从操作队列中取消这些样式的打印