Для реализации фильтра по диапазону дат с использованием плагина Advanced Custom Fields (ACF) в WordPress вам потребуется создать несколько полей типа "Дата" и настроить соответствующие параметры для фильтрации.
Вот пошаговое руководство, как это сделать:
Шаг 1: Создание полей ACF
1. Откройте раздел "Поля" в административной панели WordPress и нажмите на кнопку "Добавить новое".
2. Укажите название поля, например, "Дата начала", и выберите тип поля "Дата".
3. Установите нужные настройки для этого поля, такие как формат даты и возможность указывать будущие даты.
4. Нажмите на кнопку "Сохранить поле".
5. Повторите шаги 2-4 для создания поля "Дата окончания".
Шаг 2: Создание шаблона для фильтрации
1. Откройте файл, где вы хотите разместить фильтр по диапазону дат, например, файл шаблона страницы или файла функций вашей темы.
2. Вставьте следующий код:
<form method="GET"> <input type="date" name="start_date" placeholder="Дата начала"> <input type="date" name="end_date" placeholder="Дата окончания"> <input type="submit" value="Фильтровать"> </form>
Этот код создает форму с двумя полями для указания даты начала и окончания.
Шаг 3: Фильтрация по диапазону дат
1. Откройте файл, в котором вы хотите применить фильтр, например, файл шаблона страницы или файла функций вашей темы.
2. Вставьте следующий код перед выводом постов:
$args = array( 'post_type' => 'post', // замените на нужный вам тип записи 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'start_date', // замените на название поля "Дата начала" 'value' => $_GET['start_date'], // значение из формы 'compare' => '>=', 'type' => 'DATE' ), array( 'key' => 'end_date', // замените на название поля "Дата окончания" 'value' => $_GET['end_date'], // значение из формы 'compare' => '<=', 'type' => 'DATE' ) ) ); $filtered_posts = new WP_Query($args); if ($filtered_posts->have_posts()) { while ($filtered_posts->have_posts()) { $filtered_posts->the_post(); // Вывод постов, соответствующих фильтру } }
Этот код создает новый объект WP_Query со специальными параметрами мета-запроса, который фильтрует записи на основе введенных значений даты начала и окончания в форме.
Пожалуйста, обратите внимание, что вы должны заменить 'post_type' => 'post'
на тип записи, с которым вы работаете, и 'key' => 'start_date'
и 'key' => 'end_date'
на названия полей типа "Дата" ACF, которые вы создали.
Таким образом, вы можете реализовать фильтр по диапазону дат с использованием плагина ACF в WordPress.