2015-01-09 66 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。改爲使用「後期過期」。