前段时间,笔者在一次修改主题的index.php文件之后,发现这个admin bar不见了。具体地说,是在原来应该显示admin bar的地方,却是一片空白(准确地说,是body标签的background属性中预设的背景色)。也就是说,原来admin bar占据的地方还在,但是admin bar不见了。经过一翻查找,最后发现有两种情况会引起这样的问题。
其一,检查一下主题的footer.php文件,定位到结尾处(Ctrl+End),这个文件的结尾应该是下面的结构:
<?php wp_footer(); ?>
</body>
</html>
也就是说在footer.php文件的结尾处必须有wp_footer()函数,而且必须严格放在body标签的结束标记之前。
另外一个原因与此类似,不过是在header.php文件中,必须有wp_head()函数,而且也必须严格放在</head>标签之前。
上述原因任何一个不满足都会引起admin bar不见的问题。
不过检查之后,发现就我个人情况来说,尽管上述条件都满足,admin bar还是不见了。原来是在主题的index.php文件中,误删了<?php get_footer(); ?>一句导致的问题。虽然道理都是一样的,不过还是一个值得注意的问题。
不过,导致admin bar不见的问题有很多,如果发现admin bar不见了,不要急着看代码,先换回默认主题看问题是否依旧,看看后台设置(在后台控制板的用户设置中可以设置隐藏或者显示admin bar),看看admin bar的实现文件有没有在或者损坏了等等。