显示多个页面wordpress

时间:2014-01-25 06:42:37

标签: php arrays wordpress

我的情况是我有Page的ID。但我无法正确检索这些页面标题请看看。

$check = $data['query']; 
echo $check;

显示:101,103,105,107,109

$query = new WP_Query( array( 'post_type' => 'page', 'post__in' => array($check)));
?>
  <div class="menu">
      <ul class="tabs">
        <?php while ( $query->have_posts() ) : $query->the_post(); ?>
          <h2><?php the_title(); ?></h2>
        <?php endwhile; ?>
        <?php wp_reset_postdata(); ?>          
      </ul>
  </div>
</div>

但是此代码显示第一个ID的标题。有什么建议?

1 个答案:

答案 0 :(得分:0)

我相信你只需要更新一行。 post__in获取一个数据数组,并且您传入的数组中第一个项目是数组。

这一行:

$query = new WP_Query( array( 'post_type' => 'page', 'post__in' => array($check)));

应该是:

$query = new WP_Query( array( 'post_type' => 'page', 'post__in' => $check));

为我打印了整个帖子标题。

所以,我只是注意到你在回声中打印出一个字符串。您需要将$check变量更新为:

,将其转换为实际数组
 $check = explode(',',$data['query']);

这将为您提供一个数组,以提供查询的post__in部分。