2017-02-07 69 views
0

我使用下面的代碼創建了一個名爲「old」的新帖子狀態。如何通過「任何」選項獲取帖子包括新的帖子狀態?

$args = [ 
     'label' => _x('Old', 'page'), 
     'label_count' => _n_noop('Old (%s)', 'Old (%s)'), 
     'public' => false, 
     'internal' => true, 
     'show_in_admin_all_list' => true, 
     'show_in_admin_status_list' => true, 
     'exclude_from_search' => true, 
     'publicly_queryable' => true, 
    ]; 

    register_post_status('old', $args); 

當我嘗試獲取任何狀態下的所有帖子時,我無法獲得標記爲「舊」的帖子。

$args = array(
    'meta_key' => 'parent_post_id', 
    'meta_value' => 123, 
    'post_status' => 'any', 
    'post_type' => 'any', 
); 
$posts = get_posts($args); // posts without "old" 

如果我將「Old」作爲post_status值與數組中的「any」一起傳遞,它將起作用。

$args = array(
    'meta_key' => 'parent_post_id', 
    'meta_value' => 123, 
    'post_status' => ['any', 'old'], 
    'post_type' => 'any', 
); 
$posts = get_posts($args); // posts with "old" 

我應該怎麼做才能在Wp查詢中使用「任意」選項獲取標記爲「舊」的帖子?

回答

1

如果你讀the docs

「任意」 - 檢索除了那些從後狀態與 「exclude_from_search」設置爲true(即垃圾和自動草案)的任何狀態。

看看你的代碼:

'exclude_from_search' => true, 
+0

檢查它,如果它是有用的,請。 –

相關問題