2012-11-27 53 views
0

我使用此代碼一些元框中添加到主頁在WordPress的(這是ID 6):如何找到如果WP主題的functions.php頁面is_home

function add_page_metaboxes() { 
    add_meta_box('meta_p_sub', 'Page Subtitle', 'meta_p_sub', 'page', 'normal', 'high'); 
    $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID']; 
    if ($post_id == '6') { 
     add_meta_box('meta_hp_thing', 'Homepage Thing', 'meta_hp_thing', 'page', 'normal', 'low'); 
    } 
} 
add_action('add_meta_boxes', 'add_page_metaboxes'); 

我想成爲能夠在多個網站上使用,ID不一定總是'6'。我試過使用if (is_home()) {...if (is_front_page()) {...,但似乎並不奏效。

如何知道在WP Admin> Settings> Reading> Front Page中設置了哪個ID並使用它?

乾杯! 本

回答

2

首頁ID存儲在page_on_front選項。

$post_id = get_option('page_on_front') 
+0

太好了,謝謝。所以我會像我一樣獲得$ post_id,然後執行if($ post_id == get_option('page_on_front')){..'。完美 –

+1

順便說一下,你可以檢查'show_on_front'選項。 'if(get_option('show_on_front')==='page'){...}如果您在Settings> Reading> Front Page中選擇頁面,它的值就是'page'。 – Vladimir

-1

作爲替代方案,您可以使用is_page('slug');

if(is_page('homepage)) 
{ 
    // Do your thing... 
} 
+0

嗨,這似乎不工作,因爲我不確定主頁有一個slu。。另外我不確定這些主題函數(如is_home())是否可用於functions.php的後端。我使用'get_option('page_on_front')'建議,因爲它是可移植的。謝謝。 –

相關問題