Wordpress中数组的多个帖子ID

时间:2017-07-17 20:03:26

标签: php arrays wordpress

我想显示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 );

1 个答案:

答案 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_Queryhttps://codex.wordpress.org/Class_Reference/WP_Query

的详细信息
  

post__in(数组) - 使用post id。指定要检索的帖子。注意如果您使用粘性帖子,它们将被包含(前置!)在您检索的帖子中,无论您是否需要它。要禁止此行为,请使用ignore_sticky_posts。