В WordPress существует несколько способов реализации фильтрации записей по дате. Вот несколько примеров:
1. Использование WP_Query:
Создайте новый объект WP_Query с параметром 'date_query', в котором указывается критерий фильтрации по дате. Например, если вы хотите получить записи, опубликованные в определенной дате, вы можете использовать следующий код:
$args = array( 'post_type' => 'post', 'date_query' => array( array( 'year' => 2021, 'month' => 11, 'day' => 25, ), ), ); $query = new WP_Query( $args ); while ( $query->have_posts() ) { $query->the_post(); // Ваш код для отображения записей }
Этот пример позволяет получить все записи, опубликованные 25 ноября 2021 года. Вы можете настраивать параметры 'year', 'month' и 'day' для получения записей соответствующих другим датам.
2. Использование фильтра 'pre_get_posts':
Можно использовать фильтр 'pre_get_posts', чтобы изменить основной запрос на странице блога или на других страницах, выводящих записи. В следующем примере показано, как отфильтровать записи по дате с использованием фильтра 'pre_get_posts':
function filter_posts_by_date( $query ) { if ( $query->is_main_query() && ! is_admin() && $query->is_archive() ) { if ( isset( $_GET['filter_date'] ) ) { $date = sanitize_text_field( $_GET['filter_date'] ); $query->set( 'date_query', array( array( 'year' => date( 'Y', strtotime( $date ) ), 'month' => date( 'm', strtotime( $date ) ), 'day' => date( 'd', strtotime( $date ) ), ), ) ); } } } add_action( 'pre_get_posts', 'filter_posts_by_date' );
В этом примере добавляется возможность фильтрации записей по выбранной дате на страницах архива записей. Термин 'filter_date' - это идентификатор параметра, который будет использоваться в URL для передачи выбранной даты фильтрации. Вы можете настроить его согласно вашим потребностям.
3. Использование плагинов:
В WordPress также существует множество плагинов, которые предоставляют возможность добавления фильтров по дате. Некоторые из них настраиваются с помощью визуальных конструкторов и не требуют написания кода. Вы можете искать такие плагины в каталоге плагинов WordPress или на других ресурсах.
В зависимости от ваших требований и уровня опыта, вы можете выбрать один из описанных выше способов. WP_Query обеспечивает большую гибкость и контроль над запросами, но требует написания кода. Фильтр 'pre_get_posts' более прост в использовании, но имеет некоторые ограничения. Плагины позволяют добавить фильтры без необходимости писать код, но требуют установки дополнительных элементов.