Я пытаюсь получить последние 8 месяцев сообщений в WordPress. я использовал следующий код, чтобы сделать это
$args = array(
'posts_per_page' => -1,
'date_query' => array(
array(
'column' => 'post_date_gmt',
'after' => '5 month ago',
)
)
);
$query = new WP_Query( $args );
Теперь я хочу разместить каждый месяц посты в отдельном массиве, чтобы я мог показывать их по месяцам во фронтэнде.
Есть идеи по этому поводу?
Вы можете использовать цикл for:
$date = date('Y-m-d');
$dateArray = array();
$dateArray[] = $date;
for($i=1; $i<8 ; $i++){
$month = '- ' . $i . 'month';
$old_date = strtotime ( $month , strtotime ( $date ) ) ;
$old_date = date('Y-m-d', $old_date);
$dateArray[] = $old_date;
}
foreach($dateArray as $item){
$month_loop = date("m", strtotime($item));
$year_loop = date("Y", strtotime($item));
$query = new WP_Query('year=' . $year_loop . '&monthnum=' . $month_loop );
// Do action
}
Я думаю, что это поможет вам
Других решений пока нет …