2015-01-09 31 views
0

我有一系列循环吐出“事件”自定义帖子类型,我只想用post_status的“发布”来提取帖子。我在我的wp_query数组中添加了'publish'的post_status,但它似乎不起作用。我仍然有预定的帖子出现。WordPress循环不尊重发布状态

<?php 
      $args_hotel_feature = array(
      'post_type' => 'event', 
      'post_status' => 'publish', 
      'posts_per_page' => 2, 
      'meta_key' => '_expiration_date', 
      'orderby' => 'meta_value', 
      'order' => 'ASC', 
       array(
       'key' => '_expiration_date', 
       'value' => date("m-d-Y"), 
       'compare' => '>=', 
       'type' => 'NUMERIC,' 
      ), 
      'tax_query' => array(
        array(
         'taxonomy' => 'EventCategory', 
         'terms' => 'hotel-feature', 
         'field' => 'slug', 
       ) 
      ), 
     ); 

      $wp_query4 = new WP_Query($args_hotel_feature); 
      if($wp_query4->have_posts()) : 
      while($wp_query4->have_posts()) : 
       $wp_query4->the_post(); 
      ?> 

其他人都遇到过这个问题?

回答

0

使用meta_query

$args_hotel_feature = array(
    'post_type' => 'event', 
    'post_status' => 'publish', 
    'posts_per_page' => 2, 
    'orderby' => 'meta_value', 
    'order' => 'ASC', 
    'meta_query' => array(
      array(
       'key' => '_expiration_date', 
       'value' => date("m-d-Y"), 
       'compare' => '>=', 
       'type' => 'NUMERIC,' 
     ) 
    ), 
    'tax_query' => array(
      array(
       'taxonomy' => 'EventCategory', 
       'terms' => 'hotel-feature', 
       'field' => 'slug', 
     ) 
    ), 
); 
+0

嗨Jivani,我对meta_value过期日期的循环排序工作正常。我的问题是,即使我已将post_status参数设置为“发布”,预定的帖子也显示出来了。添加meta_query不能解决问题。 =(在添加帖子之前,wp_query中的附加if语句是否可以检查post_status值? – frontendpanda

0

原来的查询是正常,但是,后到期插件“的帖子截止日期”打破post_staus。改为使用“后期过期”。