我使用Wordpress已有很长时间了,现在尝试从其API中获取一些东西。
我看了https://developer.wordpress.org/rest-api/reference/posts/,发现那里没有我想要的请求:
我想提取在同一天(今天)但几年前发布的帖子。例如,我想在2019年1月8日获得前几年具有相同日期(1月8日)的帖子。
现在,我可以执行SQL并直接从数据库中进行选择,但是我想查看API是否可以做到。
答案 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;