正常情況下,我們在使用WordPress建站時候首頁是默認的index.php模板調用即可,但是如果有些特別的需要,比如專題頁面需要在首頁顯示自定義的時候,我們會在后臺設置某個靜態頁面作為首頁顯示,這個時候,我們可能會有需要在Header.php模板文件中判斷標題.
這里需要熟悉兩個函數應用:
is_home() //表示正常的首頁展示
第一種:當你的首頁不是默認的index.php的時候,而是在后臺指定了一個page頁面,這種情況下is_home()會失效,也就是說這樣子的情況下就不能再用is_home()來判斷.
is_front_page()是判斷當前頁是不是指定的首頁,我們在上面描述的情況下需要的就是這個函數,代碼如下:
<?php if (is_home() || is_front_page()) { ?>
我只會在首頁顯示:<?php } ?>
ps:我在使用多站點wordpress進行二次開發時,需要所有的站點均指定一個page作為首頁來顯示,而且,該page作為首頁顯示時,頁頭還要顯示一個banner圖片,這就需要對所有theme主題的page.php文件內使用上述代碼以判斷是否首頁.
第二種:如果is_home()之前有個 query_posts(),則會讓它本身判斷失效,原因是 is_home() 函數在首頁的時候會返回一個 true 來判斷,而 query_posts()會阻斷這一判斷.
解決方案是在 is_home()之前加一個 wp_reset_query(),代碼如下:
<?php wp_reset_query(); if ( is_home() ) { ?>
我只會在首頁顯示
<?php } ?>
is_front_page() //表示判斷如果是用自定義靜態頁作為首頁時候
示范:代碼如下:
- <?php if ( is_front_page() ) { ?><title>自定義靜態頁首頁標題</title><?php } ?>
這樣,在自定義TITLE的時候可以用到上面的代碼.
新聞熱點
疑難解答
圖片精選