2014-09-05 36 views
0

我想檢測,如果當前頁是我新安裝WordPress的主頁。檢測,如果它的主頁中的functions.php

下面的代碼的代碼片段工作在page.php文件,但它不工作的functions.php。我如何檢測WordPress中的functions.php主頁?

if (is_front_page()) { 
    echo 'test'; 
} 

我知道我可以使用$_SERVER['REQUEST_URI'],但我想應該有這樣做的更好的方法。

在WordPress設置>閱讀中,我有一個靜態頁面,我的主頁。 is_home()在我的page.php中不起作用,但is_front_page()在我的page.php中起作用。這兩個功能在我的functions.php

+0

沒有任何額外的代碼很難說。你可以提供更多你正在使用的'functions.php'中的代碼嗎? – mc10 2014-09-05 19:39:24

+0

在WordPress開始確定要使用哪個頁面/模板之前,functions.php中的原始代碼是運行方式。你究竟在努力實現什麼?你可能想要掛鉤一個動作或者過濾器,所以你測試'is_front_page'的代碼被設置爲稍後運行,當時WordPress已經設置了足夠的東西來回答這個問題...從[notes](http ://codex.wordpress.org/Function_Reference/is_home):「'is_home'使用全局的$ wp_query WP_Query對象。在parse_query動作之前is_home不可用。」所以你需要推遲運行它,直到至少遲到。 – 2014-09-05 19:56:44

+0

我想加載一些腳本和CSS只爲主頁在functions.php。那就是我試圖達到的目標。 – bghouse 2014-09-07 20:53:12

回答

4

工作只需使用is_home()條件標記檢查主頁

編輯

從你的意見,你正在嘗試不會有任何效果。您需要添加代碼的函數裏面,然後把它掛到一些鉤

<?php 
function my_custom_function() { 
    if(is_front_page()){ 
     echo "home"; 
    }else{ 
     echo "not home"; 
    } 
} 
add_action('wp_head', 'my_custom_function'); 

您還想要加載僅在頭版樣式和腳本註釋說明。你可以試試以下內容

<?php 
function my_custom_function() { 
    if(is_front_page()){ 
     //Load your styles and scripts 
    } 
} 
add_action('wp_enqueue_scripts', 'my_custom_function'); 
+0

在wordpress設置>閱讀中,我的主頁有一個靜態頁面。 is_home()在我的page.php中不起作用,但is_front_page()在我的page.php中起作用。 這兩個功能在我空虛的functions.php工作 – bghouse 2014-09-12 18:18:11

+0

謝謝。 is_front_page()在functions.php中的wp_enqueue_scripts操作中工作。 – bghouse 2014-09-16 20:32:04

相關問題