Проблема
Главный цикл и функция WordPress query_posts() WordPress позволяют легко получить список записей, опубликованных в определённую неделю или месяц. К сожалению, вытащить записи, опубликованные, например, после 17 марта и до 3 мая будет не просто. Решим данную задачу.
Решение
Просто скопируйте ниже приведённый код в вашу тему в то место, где нужно выводить список записей, опубликованных между двумя датами. Обязательно поменяйте даты в коде на те, которые нужны вам.
<?php
function filter_where($where = '') {
$where .= " AND post_date >= '2009-03-17' AND post_date <= '2009-05-03'";
return $where;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
the_post();
the_content();
endwhile;
?>
Описание решения
Для решения задачи сначала мы создаем функцию filter_where(), которая содержит условие SQL “WHERE”. Затем перед запуском главного цикла функция filter_where() будет вызываться функцией WordPress post_where().
В результате условие “WHERE”, которое содержится в функции filter_where(), добавляется в конец запроса SQL, содержащегося в функции post_where(). Значит, главный цикл вернет только те записи, которые были опубликованы в период между двумя датами, заданными в функции filter_where().