function enqueue_category_filter_scripts() { wp_enqueue_script('jquery'); wp_enqueue_script('category-filter', get_template_directory_uri() . '/js/category-filter.js', array('jquery'), null, true); wp_enqueue_style('category-filter-style', get_template_directory_uri() . '/css/category-filter.css'); }
function filter_posts_by_category($query) { if (is_main_query() && !is_admin()) { $montenegro-summer = isset($_GET['montenegro-summer']) ? $_GET['montenegro-summer'] : ''; $accomodation-type = isset($_GET['accomodation-type']) ? $_GET['accomodation-type'] : ''; // Make sure there is at least one category selected if (!empty($montenegro-summer) || !empty($accomodation-type)) { $category_query = array(); // Filter by category 1 if (!empty($montenegro-summer)) { $category_query[] = $montenegro-summer; } // Filter by category 2 if (!empty($accomodation-type)) { $category_query[] = $accomodation-type; } // Set the tax_query parameter to filter by selected categories $query->set('tax_query', array( array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => $category_query, 'operator' => 'IN', // Use 'IN' to match any of the selected categories ), )); } } } add_action('pre_get_posts', 'filter_posts_by_category');

No posts found based on your selection.

jQuery(document).ready(function($) { $('#category-filter-form').on('submit', function(event) { event.preventDefault(); // Prevent the form from submitting normally var formData = $(this).serialize(); // Serialize the form data $.get(window.location.href, formData, function(response) { // Replace the posts grid with the new filtered content $('.posts-grid').html($(response).find('.posts-grid').html()); }); }); });