正常情況下,我們?cè)谑褂肳ordPress建站時(shí)候首頁(yè)是默認(rèn)的index.php模板調(diào)用即可,但是如果有些特別的需要,比如專(zhuān)題頁(yè)面需要在首頁(yè)顯示自定義的時(shí)候,我們會(huì)在后臺(tái)設(shè)置某個(gè)靜態(tài)頁(yè)面作為首頁(yè)顯示,這個(gè)時(shí)候,我們可能會(huì)有需要在Header.php模板文件中判斷標(biāo)題.
這里需要熟悉兩個(gè)函數(shù)應(yīng)用:
is_home() //表示正常的首頁(yè)展示
第一種:當(dāng)你的首頁(yè)不是默認(rèn)的index.php的時(shí)候,而是在后臺(tái)指定了一個(gè)page頁(yè)面,這種情況下is_home()會(huì)失效,也就是說(shuō)這樣子的情況下就不能再用is_home()來(lái)判斷.
is_front_page()是判斷當(dāng)前頁(yè)是不是指定的首頁(yè),我們?cè)谏厦婷枋龅那闆r下需要的就是這個(gè)函數(shù),代碼如下:
<?php if (is_home() || is_front_page()) { ?>
我只會(huì)在首頁(yè)顯示:<?php } ?>
ps:我在使用多站點(diǎn)wordpress進(jìn)行二次開(kāi)發(fā)時(shí),需要所有的站點(diǎn)均指定一個(gè)page作為首頁(yè)來(lái)顯示,而且,該page作為首頁(yè)顯示時(shí),頁(yè)頭還要顯示一個(gè)banner圖片,這就需要對(duì)所有theme主題的page.php文件內(nèi)使用上述代碼以判斷是否首頁(yè).
第二種:如果is_home()之前有個(gè) query_posts(),則會(huì)讓它本身判斷失效,原因是 is_home() 函數(shù)在首頁(yè)的時(shí)候會(huì)返回一個(gè) true 來(lái)判斷,而 query_posts()會(huì)阻斷這一判斷.
解決方案是在 is_home()之前加一個(gè) wp_reset_query(),代碼如下:
<?php wp_reset_query(); if ( is_home() ) { ?>
我只會(huì)在首頁(yè)顯示
<?php } ?>
is_front_page() //表示判斷如果是用自定義靜態(tài)頁(yè)作為首頁(yè)時(shí)候
示范:代碼如下:
- <?php if ( is_front_page() ) { ?><title>自定義靜態(tài)頁(yè)首頁(yè)標(biāo)題</title><?php } ?>
這樣,在自定義TITLE的時(shí)候可以用到上面的代碼.
新聞熱點(diǎn)
疑難解答
圖片精選