Flector

Как отфильтровать записи в цикле вывода по дате?

Фильтровать записи по дате в основном цикле вывода записей очень просто. Например, можно вывести на главной записи только за текущий день. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//вывод на главной записей с указанной датой start
function wph_posts_by_date($query) {
    if($query->is_home() && $query->is_main_query()) {
        $today = getdate();
        $query->set('year', $today['year']);
        $query->set('monthnum', $today['mon']);
        $query->set('day', $today['mday']);
    }
    return $query;
}
add_filter('pre_get_posts', 'wph_posts_by_date');
//вывод на главной записей с указанной датой end

Если в этом коде удалить строчку:

$query->set('day', $today['mday']);

То записи будут выведены за весь текущий месяц. Таким же образом вы можете отфильтровать записи в рубриках или архивах (достаточно изменить в коде условный тег is_home на is_category, чтобы фильтровать записи по дате в рубриках).


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!