我有一个自定义的帖子类型,将在我的WordPress的前端显示。当我使用WP_Query进行查询时,我想选择不超过30天的帖子。
我知道它存在插件,但我不想在我的项目中使用插件。
我也尝试使用post meta(是的,它有效),但我真的想知道是否可以在查询中使用发布日期?
我的(基本)查询:
$data = new WP_Query(
array(
'post_type' => array( 'my-cpt' ),
'post_status' => array( 'publish' ),
'posts_per_page' => 1,
'nopaging' => true,
'orderby' => 'date',
'order' => 'DESC',
'paged' => $paged,
// Don't want the following ...
// 'meta_key' => ' expiration_time',
// 'meta_value' => current_time( 'timestamp', 0 ),
// 'meta_compare' => '>='
)
);
答案 0 :(得分:1)
这应该有效,在查询中添加“date_query”应该将结果限制在过去30天内。
$data = new WP_Query(
array(
'post_type' => array( 'my-cpt' ),
'post_status' => array( 'publish' ),
'posts_per_page' => 1,
'nopaging' => true,
'orderby' => 'date',
'order' => 'DESC',
'paged' => $paged,
'date_query' => array(
'after' => date('Y-m-d', strtotime('-30 days'))
)
);