По сути это будет самый обычный цикл с добавлением фильтра.
Обратите внимание, если вам нужно вывести посты за год, месяц или неделю, то WP_Query позволяет это сделать без каких-либо дополнительных действий.
Укажите здесь промежуток времени, за который нужно вывести посты, даты должны быть именно в таком формате ГГГГ-ММ-ДД. Функцию можете засунуть в functions.php.
function true_filter_by_date($where = '') { $from = '2012-11-15'; // промежуток времени c 15.11 до 24.12 $to = '2012-12-24'; $where .= " AND post_date >= '$from' AND post_date <= '$to'"; return $where; }
Вы можете создать любое количество фильтрующих функций.
Посты можно вывести как через WP_Query, так и через query_posts, главное не забудьте отключить фильтр в конце, иначе он будет применяться ко всем последующим циклам на странице.
add_filter('posts_where', 'true_filter_by_date'); // включаем фильтр $params = array( 'posts_per_page' => -1 // можно добавить и других параметров для WP_Query ); $q = new WP_Query($params); while($q->have_posts()) { $q->the_post(); echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a>'; } wp_reset_postdata(); remove_filter('posts_where', 'true_filter_by_date'); // отключаем фильтр под конец
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Здравствуйте, подскажите пожалуйста как получить количество постов за определенную дату из определенной категории или посты за промежуток от 10 до 30 дней, до настоящего.
Количество постов за промежуток от 10 до 30 дней, до настоящего.
Здравствуйте. Тут всё есть.
Спасибо огромное
Как вывести записи за определенный период определенной рубрики?
При помощи date_query.