Существуют ли плагины для множественной фильтрации/критериев в WordPress?
Я ищу плагин WordPress, который может создать множественные критерии поиска из тегов или категорий, подобно боковой панели фильтров на сайте http://www.olx.com/dvd-cat-238 Когда выбран один из критериев фильтрации, отображаемый контент должен соответствовать этому выбору.
Если выбрано несколько критериев, отображаемый контент должен одновременно соответствовать всем выбранным фильтрам.
С уважением
Чтобы никто другой не потратил столько же времени, сколько потратил я, код такого вида:
isset($_POST['cat']
нужно изменить на:
isset($_GET['cat']
потому что форма использует метод 'get'.
Также, 'category_and' следует заменить на 'category_in', если нужно проверить несколько категорий.

К сожалению, эти названия аргументов указаны неверно - оба должны содержать двойное подчеркивание, например category__and
и category__in
. Также вы не сделали четкого различия в том, как эти два аргумента для категорий отличаются по функционалу. Исправьте/обновите эти моменты в вашем ответе, и я с радостью поставлю вам +1. ;)

Я когда-то начал писать что-то подобное, но так и не закончил, каждый раз дорабатывая под конкретного клиента, которому нужна эта функциональность.
Так что пользуйтесь и изменяйте как вам угодно.
<?php
/*
Plugin Name: BaInternet Search Filters
Plugin URI: http://www.bainternet.info
Description: фильтрация поиска по меткам и категориям
Version: 0.0.1
Author: bainternet בניית אתרים
Author URI: http://www.bainternet.info
*/
/*
* Очень ранняя бета-версия, так что будьте осторожны.
*
* Использование: добавьте шорткод [search_with_filter] в
* запись/страницу или виджет, либо вызовите его из шаблона
* страницы следующим образом: echo do_shortcode('search_with_filter');
*
*
*/
function ba_SearchFilter($query) {
if (!$query->is_search) {
return $query;
}
if (isset($_POST['cat'])){
$query->set('category__and', $_POST['cat']);
}
if (isset($_POST['tags'])){
$query->set('tag__and', $_POST['tags']);
}
return $query;
}
//добавляем фильтры к поиску
add_filter('pre_get_posts','ba_SearchFilter');
function ba_search_with_filters(){
$out = '<form role="search" method="get" id="searchform" action="'. home_url( '/' ).'">
<div><label class="screen-reader-text" for="s">Искать:</label>
<input type="text" value="" name="s" id="s" /><br />';
$categories= get_categories();
foreach ($categories as $category) {
$option = '';
$option .= '<input type="checkbox" name="cat[]" id="cat[]" value="'.$category->term_id.'"> ';
$option .= $category->cat_name .'<br />';
$out.= $option;
}
$tags= get_categories();
foreach ($tags as $tag) {
$option = '';
$option .= '<input type="checkbox" name="tags[]" id="tags[]" value="'.$tag->term_id.'"> ';
$option .= $tag->cat_name .'<br />';
$out.= $option;
}
$out .='<input type="submit" id="searchsubmit" value="Поиск" />
</div>
</form>';
return $out;
}
add_shortcode('search_with_filter','ba_search_with_filters');
?>

Посмотрите плагин scribu под названием Query Multiple Taxonomies.
Помимо того, что он позволяет выполнять запросы в разных таксономиях в более ранних версиях WordPress, он включает в себя виджет drilldown, аналогичный тому, на который вы указали. Если вы правильно определите свои таксономии, этот плагин можно использовать для создания очень удобного интерфейса для пользователей, просматривающих ваш сайт.

Привет, знаю, что опоздал на вечеринку, но я разработал именно такой плагин для этой цели:
WordPress Search & Filter - Плагины WordPress
Вы используете шорткод для генерации интерфейса, который работает с категориями, таксономиями, типами записей и датами публикаций :)
Надеюсь, он вам пригодится!

Если человек, который поставил минус, не захочет раскрыться, эту информацию невозможно получить. Ваш ответ станет бесполезным, если указанная вами ссылка перестанет работать или вернет 404 ошибку, и по сути он не отвечает на вопрос. Попробуйте предложить решение в своем ответе, а не просто ссылаться на него в другом месте.

Автор вопроса просит плагин: "Меня интересует плагин для WordPress, который может создавать несколько критериев поиска из меток или категорий", а я ссылаюсь на плагин, размещенный на сайте wordpress.org (маловероятно, что он перестанет работать). Честно говоря, я не могу придумать лучшего ответа - просто считаю несправедливым снимать репутацию, когда был дан совершенно хороший ответ, и кто-то потратил время и усилия на его подготовку.
