检索两个日期之间的帖子

Retrieve posts between two dates

我的帖子包含以下 ACF 自定义字段:开始日期和结束日期,格式如下:Y-m-d H:i:s.

我想使用 WP_Query 检索所有开始日期小于 24 小时前和结束日期小于 24 小时前的帖子。

我该怎么做?

您可以使用 meta_query - https://codex.wordpress.org/Class_Reference/WP_Meta_Query

简单示例:

$start = '2011-11-31';
$end = '2011-10-01';
$args = array(
    'post_type' => 'my-event-type',
    'posts_per_page' => -1,
    'orderby' => 'meta_value',
    'order' => 'ASC',
    'meta_key' => '_my-datetime-from',
    'meta_query' => array(
        array(
            'key' => '_my-datetime-from',
            'value' => array( $start, $end ),
            'compare' => 'BETWEEN',
            'type' => 'DATE'
        )
    )
);
// Make the query

试试这个片段,

$args = array(
 'post_type' => 'surf_reports',
  'posts_per_page' => '1',
  'date_query' => array(
   array(
       'after' => '24 hours ago'
       )
  )
);

(https://wordpress.stackexchange.com/questions/194352/only-display-post-if-published-in-last-24-hours)

 // Run the query.
 $expire_window = date('Y-m-d H:i:s', strtotime('1 day'));
 $expiring_ads = new WP_Query( array( 
        'post_type'      => 'post', 
        'posts_per_page' => 5, 
        'no_found_rows'  => true,
        'orderby'        => 'meta_value',
        'order'          => 'ASC',
        'meta_query'     => array(
                                'relation' => 'AND',
                                array(
                                    'key' => 'start_date',
                                    'value' => $expire_window,
                                    'compare' => '<='
                                ),
                                array(
                                    'key' => 'end_date',
                                    'value' => date("Y-m-d H:i:s"),
                                    'compare' => '>=',
                                    'type' => 'DATETIME'
                                )
        )
    ));

希望对您有所帮助。