Я пытаюсь получить список сообщений из WordPress за последние 7,30 и 365 дней.
Вот код, который я использую:
$args = array(
'posts_per_page'=>10,
'post_status'=>'publish',
'post_type'=>'post'
);
if(isset($_GET['group'])){
switch($_GET['group']){
case 'week':
$time = date('Y-m-d h:i:s',strtotime('-1 week'));
break;
case 'month':
$time = date('Y-m-d h:i:s',strtotime('-1 month'));
break;
case 'year':
$time = date('Y-m-d h:i:s', strtotime('-1 year'));
break;
default:
$time = '';
break;
}
if($time!=''){
$args['pub_date'] = '>= "'.$time.'"';
}
}
$query = new WP_Query( $args );
Если я error_log массива args, я вижу установленную метку времени. Но когда я error_log объекта WP_Query, я вижу запрос SQL:
SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value desc LIMIT 0, 10
Этот запрос не содержит установленный диапазон дат pub_date. Как мне этого добиться?