wordpress加is_home()判斷是否為首頁(yè),結(jié)果不生效,可能的原因是is_home()之前有個(gè) query_posts()造成的,is_home() 函數(shù)在首頁(yè)的時(shí)候會(huì)返回一個(gè) true 來判斷,而 query_posts()會(huì)阻斷這一判斷,代碼如下:
- <?php if ( is_home() ) { ?>
- 我只會(huì)在首頁(yè)顯示
- <?php } ?>
is_home(); 函數(shù)在首頁(yè)的時(shí)候會(huì)返回一個(gè) true,上面那段代碼是常用的只在首頁(yè)顯示,插入任何模板頁(yè)P(yáng)HP里都可以,例如側(cè)邊欄 sidebar.php 或頁(yè)腳 footer.php,但如果它之前有個(gè) query_posts(); 則會(huì)讓它失效,原因是 is_home is_virgin is_ooxx 這種 is_ 前綴的都是基于主旋律循環(huán)來判斷,而 query_posts(); 會(huì)讓其偏離主循環(huán),解決方案是在 is_home(); 之前加一個(gè) wp_reset_query();代碼如下:
- <?php wp_reset_query(); if ( is_home() ) { ?>
- 我只會(huì)在首頁(yè)顯示, 真的!
- <?php } ?>//開源軟件:Vevb.com
第二種,當(dāng)你使用指定的一個(gè)page頁(yè)面作為首頁(yè)時(shí),這種情況下is_home()是不起作用,可以使用is_front_page()來判斷當(dāng)前頁(yè)是不是指定的首頁(yè),我們?cè)谏厦嫠枋龅那闆r下需要的就是這個(gè)函數(shù),代碼如下:
- <?php if (is_home() || is_front_page()) { ?>
- 首頁(yè)顯示代碼……………………
- <?php } ?>
新聞熱點(diǎn)
疑難解答
圖片精選