У меня есть это:
if( $display_type == 'today' ) {
$today = getdate() ;
$args['date_query'] = array( array(
'year' => $today['year'],
'month' => $today['mon'],
'day' => $today['w'],
));
«w» для «недели», «mday» для «одного дня», «год» для «года» … и т. д.
Поэтому я хочу вытащить последний пост на 2 (или 3, 4, 5 ..) дня, а не на 7 дней (неделю). Но я должен сохранить эту форму, просто замените «w» чем-то другим (например, «2 дня назад»).
А если не можете, то как можете?
Ваш вопрос может быть связан с дополнительной информацией, но я думаю, это то, что вы ищете:
$today = getdate() ;
$mday = $today['mday'];
$days = 2; // Collect post for the last 2 days
$args['date_query'] = array(
array(
'year' => $today['year'],
'month' => $today['mon'],
),
array(
'day' => array( $mday - $days, $mday ),
'compare' => 'BETWEEN',
),
);
Я построил этот запрос из следующей документации:
https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters
Других решений пока нет …