wordpress加is_home()判斷是否為首頁,結果不生效,可能的原因是is_home()之前有個 query_posts()造成的,is_home() 函數在首頁的時候會返回一個 true 來判斷,而 query_posts()會阻斷這一判斷,代碼如下:
<?php if ( is_home() ) { ?>
我只會在首頁顯示
<?php } ?>
is_home(); 函數在首頁的時候會返回一個 true,上面那段代碼是常用的只在首頁顯示,插入任何模板頁PHP里都可以,例如側邊欄 sidebar.php 或頁腳 footer.php,但如果它之前有個 query_posts(); 則會讓它失效,原因是 is_home is_virgin is_ooxx 這種 is_ 前綴的都是基于主旋律循環來判斷,而 query_posts(); 會讓其偏離主循環,解決方案是在 is_home(); 之前加一個 wp_reset_query();代碼如下:
<?php wp_reset_query(); if ( is_home() ) { ?>
我只會在首頁顯示, 真的!
<?php } ?>
第二種,當你使用指定的一個page頁面作為首頁時,這種情況下is_home()是不起作用,可以使用is_front_page()來判斷當前頁是不是指定的首頁,我們在上面所描述的情況下需要的就是這個函數,代碼如下:
<?php if (is_home() || is_front_page()) { ?>
首頁顯示代碼……………………
<?php } ?>
新聞熱點
疑難解答