【问题标题】:WordPress Loop Not Respecting Post StatusWordPress循环不尊重帖子状态
【发布时间】:2015-01-09 14:59:22
【问题描述】:

我有一系列循环吐出“事件”自定义帖子类型,我只想提取 post_status 为“发布”的帖子。我已经在我的 wp_query 数组中添加了“发布”的 post_status,但它似乎不起作用。我仍然有预定的帖子显示。

<?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();
            ?>

还有其他人遇到过这个问题吗?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    使用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',
              )
          ),
      );
    

    【讨论】:

    • 嘿,Jivani,我按 meta_value 到期日期对循环进行的排序工作正常。我的问题是,即使我将 post_status 参数设置为“发布”,预定的帖子也会显示。添加 meta_query 并不能解决问题。 =( wp_query 中的附加 if 语句是否可以在添加帖子之前检查 post_status 值?
    【解决方案2】:

    原来查询没问题,但是过期后插件“Posts Expiration Date”破坏了post_staus。请改用“Post Expirator”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多