如何通过比较 acf 自定义字段日期值来过滤过去一年的自定义帖子

How to filter last one year custom posts by comparing acf custom field date value

我必须通过比较 acf 自定义字段日期选择器值来获取最近 12 个月的最新帖子

$args = array( 
  'post_type' => 'news',
  'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1,
   'meta_query' => array(
array(
    'key' => 'publication_date',
     'after'   => '-365 days',
 ),
 ),
 'orderby' => 'meta_value',
  'order' => 'DESC',
  'hide_empty' => 0,
   'pad_counts' => false, 
 );

您可以通过以下方式获得过去一年的post:

$today = date('Ymd'); // Today's date
$date = strtotime($today.' -1 year'); // converting into string and doing minus a year
$lastyear = date('Ymd', $date); //get the date of the last year

$args = array( 
  'post_type' => 'news',
  'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1,
  'orderby' => 'meta_value',
  'order' => 'DESC',
  'hide_empty' => 0,
  'pad_counts' => false,

    'meta_query' => array(
      'relation' => 'AND',
           array(
                'key'       => 'publication_date',
                'compare'   => '<=',
                'value'     => $today,
            ),
               array(
                'key'       => 'publication_date',
                'compare'   => '>=',
                'value'     => $lastyear,
            )
      )

 );

在这里我们可以使用元查询来获取它。

<?php   
            $today = date('Ymd'); // Today's date
            $date = strtotime($today.' -1 year'); // converting into string and doing minus a year
            $lastyear = date('Ymd', $date); //get the date of the last year
            $args = array( 
              'post_type' => 'news',
              'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1,
              'orderby' => 'meta_value',
              'order' => 'DESC',
              'hide_empty' => 0,
              'pad_counts' => false,

                'meta_query' => array(
                  'relation' => 'AND',
                       array(
                            'key'       => 'publication_date',
                            'compare'   => '<=',
                            'value'     => $today,
                        ),
                           array(
                            'key'       => 'publication_date',
                            'compare'   => '>=',
                            'value'     => $lastyear,
                        )
                  )

             );
            $loop = new WP_Query( $args );
            while ( $loop->have_posts() ) : $loop->the_post(); ?>
            <h4 class="common_heading4 site_clr text_transform"><?php the_title(); ?></h4>
            <p class="mb-0"><?php echo the_field('news_short_content'); ?></p>
            <a class="download_pdf" href="<?php the_permalink(); ?>" >Read More</a>
        <?php endwhile; ?>
        <?php
        // Previous/next page navigation.
        the_posts_pagination(
            array(
                'prev_text'          => __( 'Previous page', 'theme' ),
                'next_text'          => __( 'Next page', 'theme' ),
                'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'theme' ) . ' </span>',
            )
        );
        ?>