我想显示3个具体帖子。
问题:我的帖子ID来自之前的数组。
结果:仅显示第一个。
功能:
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);
$ algoid(帖子ID)= 865,866,877
的结果我想显示三个帖子。
$myarray = array($algoid);
$args = array(
'post__in' => $myarray,
);
// The Query
$the_query = new WP_Query( $args );
答案 0 :(得分:1)
您不必为$algoid
内爆post__in
。由于您使用的是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_Query
:https://codex.wordpress.org/Class_Reference/WP_Query
post__in(数组) - 使用post id。指定要检索的帖子。注意如果您使用粘性帖子,它们将被包含(前置!)在您检索的帖子中,无论您是否需要它。要禁止此行为,请使用ignore_sticky_posts。