Для реализации AJAX фильтрации по произвольному полю-флажку в WordPress, вам потребуется следовать нескольким шагам:
1. **Создание AJAX обработчика:** Сначала создайте функцию обработчика AJAX запроса в файле functions.php вашей темы или плагина. В этой функции вы будете получать данные из запроса и фильтровать результаты на основе выбранных флажков.
add_action('wp_ajax_filter_posts', 'filter_posts'); add_action('wp_ajax_nopriv_filter_posts', 'filter_posts'); function filter_posts() { // Получите данные из запроса $filter_value = $_POST['filter_value']; // Здесь добавьте код для фильтрации записей по значению флажка // Например, используйте WP_Query для поиска нужных записей // Затем верните результат в формате JSON wp_send_json($filtered_posts); }
2. **Добавление JavaScript кода:** Создайте скрипт JavaScript для отправки AJAX запроса на обработчик, когда пользователь выбирает флажок и обновляет результаты на странице. Например, воспользуйтесь jQuery для удобства.
jQuery(document).ready(function($) { $('#checkbox_id').on('change', function() { var filterValue = $(this).is(':checked') ? 'value_checked' : 'value_unchecked'; $.ajax({ url: ajaxurl, type: 'POST', data: { action: 'filter_posts', filter_value: filterValue }, success: function(response) { // Обновите результаты на странице в соответствии с отфильтрованными записями } }); }); });
3. **Добавление HTML разметки:** В вашем шаблоне WordPress добавьте HTML разметку флажка.
<input type="checkbox" id="checkbox_id" value="value_checked"> <label for="checkbox_id">Фильтр по произвольному полю</label>
4. **Обновление результатов на странице:** В функции filter_posts()
и в успешном ответе AJAX запроса в JavaScript, обновите контент на вашей странице в соответствии с отфильтрованными результатами.
Эти шаги помогут вам реализовать AJAX фильтрацию по произвольному полю-флажку в WordPress. Не забудьте провести тестирование и убедиться, что все работает корректно.