Wordpress API获取特定日期的帖子

时间:2019-01-08 01:20:48

标签: wordpress api

我使用Wordpress已有很长时间了,现在尝试从其API中获取一些东西。

我看了https://developer.wordpress.org/rest-api/reference/posts/,发现那里没有我想要的请求:

我想提取在同一天(今天)但几年前发布的帖子。例如,我想在2019年1月8日获得前几年具有相同日期(1月8日)的帖子。

现在,我可以执行SQL并直接从数据库中进行选择,但是我想查看API是否可以做到。

2 个答案:

答案 0 :(得分:0)

我相信您可能需要此查询:

$date = getdate();

$args = array(
    'post_type' => 'post',
    'date_query' => array(
        'before' => array(
            'year'  => $date['year'] - 1,
            'month' => $date['mon'],
            'day'   => $date['mday']
        )
    )
);

$query = new WP_Query( $args );

if ( $query->have_posts() ):
    while ( $query->have_posts() ): $query->the_post();
        the_title();
    endwhile;
endif;

这将返回2018年1月7日之前的所有帖子标题

在此处详细了解有关date_query的信息: https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

答案 1 :(得分:0)

如果您想在一年中的同一天获取帖子,则以下代码将是正确的:

 $year = date( 'Y' );
 $today = getdate();
 $args = array(
    'date_query' => array(
       array(
        'year'      => $year,
        'compare'   => '<',
       ),
        array(
          'day'      =>  $today['mday'],
          'compare'   => '=',
       ),
      array(
        'month'     =>  $today['mon'],
        'compare'   => '=',
    ),

),
'posts_per_page' => -1,
);

$query = new WP_Query( $args );

if ( $query->have_posts() ):while ( $query->have_posts() ): $query->the_post();
     the_title();
endwhile;endif;