POST__NOT_IN仅删除前两页

时间:2014-08-27 作者:Gareth Gillman

我正在使用post\\u not\\u in从查询中删除页面,但它忽略了超过2项的内容

我的代码:

$selected_check = array();
  $checks = new WP_Query( \'post_type=page&orderby=menu_order&order=ASC&posts_per_page=-1\');
  while($checks->have_posts()){
   $checks->the_post();
   global $post;
   $this_check = get_post_meta($post->ID, \'_cmb_hide_home\', true);
   if($this_check == \'on\'){
    $selected_check[] = $post->ID;
   }
  } 
  wp_reset_postdata();

  $new_check = implode(", ", $selected_check);

  $query1 = new WP_Query(array(
  \'post_type\' => \'page\',
  \'orderby\' => \'menu_order\',
  \'order\' => \'ASC\',
  \'posts_per_page\' => \'-1\',
  \'post__not_in\' => array($new_check)
 ));
我的$new\\u checks数组当前为51、76、10、21,但它只处理前2项

我的代码中是否缺少一些东西?

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

post__not_in 应该是一个post ID数组-删除implode 排队就可以通过$selected_check 作为参数值,而不是array( $new_check ).

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post