2017-07-17 92 views
0

我想顯示3個特定帖子。Wordpress中陣列的多個帖子ID

問題:我的帖子ID來自以前的數組。

結果:它只顯示第一個。

功能:從$ algoid(帖子ID)= 865,866

foreach($fav_author_list as $i => $item) { 
    $insert = get_user_favorites($item); 
    if (!is_array($insert[0])) { 
    $result = array_merge($result, $insert); 
    } 
} 
$algoid = implode(",", $result); 

結果,877

我想顯示的三個職位。

$myarray = array($algoid); 
$args = array(
    'post__in'  => $myarray, 
); 
// The Query 
$the_query = new WP_Query($args); 

回答

1

您不必爲post__in內爆您的$algoid。由於您使用的implode,你實際上是傳遞一個數組的字符串爲您查詢:

array('865, 866, 877'); // Items: 1 

然而,WP_Query期待一個陣列的ID,而不是作爲一個字符串:

array(865, 866, 877); // Items: 3 

這裏就應該是這樣:

// Use your function to generate the array with the IDs 
$algoid = array(865, 866, 877); 

$args = array(
    'post__in' => $algoid 
); 

更多有關WP_Queryhttps://codex.wordpress.org/Class_Reference/WP_Query

post__in(array) - 使用post ID。指定要檢索的帖子。注意如果您使用粘性帖子,無論您是否需要它們,它們都會被包含(前置!)在您檢索的帖子中。要抑制此行爲,請使用ignore_sticky_posts。

+0

工作!謝謝 – user1708580

+1

@ user1708580歡迎您:) –