前段時間,筆者在一次修改主題的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的實現文件有沒有在或者損壞了等等。