Товарищи, ДОРОГИЕ, помогите пожалуйста...
У меня никак не хочет работать фильтр поиска по этому примеру
Я пытался даже с одним полем по Рубрикам только вывести - не работает..тупо перекидывал на главную (она у меня не для постов вообще) при этом понятно в УРЛЕ прописывал выбранную категорию...
Вот какой был код:
Район
Любой
Север ТУТ ЧЕРЕЗ АЙДИ КАТЕГОРИИ ПЫТАЛСЯ
Юг ТУТ ЧЕРЕЗ СЛАГ
'post',
'tax_query' => array(
array( ЕСЛИ ОДИН array() ТУТ УБРАТЬ то хоть показывались все Записи, еще до использования фильтра, а если оставить так то на странице Записей выдавалось сразу сообщение что таких Записей НЕТ...(фильтр на странице Записей и расположен)
'taxonomy' => 'category',
'field' => 'id',
'terms' => $categories
)
)
);
unset($categories); ПРОБОВАЛ И С ЭТИМ И БЕЗ, РАЗНИЦЫ НЕТ
query_posts( $args ); ?>
В общем я очень много пробовал и никак не срабатывало...
Index.php у меня самописный, но я совсем не силен в этом, поэтому думал может где-то глобально напортачил, попробовал установить пару плагинов по фильтрам - все работали как надо, особенно классный "WP Custom Fields Search" - даже с кастомными полями отлично функционирует, но выводит записи он по-своему да и не хочется грузить целый плагин...я это к тому что возможно все таки проблема не так глубоко раз плагины работают...
В итоге отрыл где-то вот такой страшнючий код (в котором мне ни черта почти не понятно) и он работает, но блин у меня тут никак не получается с произвольными полями разобраться...вот сам код:
'category',
'exclude' => Array(1)]);
$post_tags = get_terms([
'taxonomy' => 'post_tag']);
?>
<input type="checkbox" name="filter[category][]" id="category_term_id; ?>" value="term_id; ?>">
<label for"category_term_id; ?>"> name; ?>
<input type="checkbox" name="filter[post_tag][]" id="post_tag_term_id; ?>" value="term_id; ?>">
<label for"post_tag_term_id; ?>"> name; ?>
Фильтр
array(
'relation' => "AND",)
);
if ( isset($_REQUEST['filter']['category']) && is_array($_REQUEST['filter']['category']) ) {
$categories = array();
foreach ( $_REQUEST['filter']['category'] as $category ) {
$categories[] = intval($category);
}
$query['tax_query'][] = array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => $categories
);
unset($categories);
}
if ( isset($_REQUEST['filter']['post_tag']) && is_array($_REQUEST['filter']['post_tag']) ) {
$post_tags = array();
foreach ( $_REQUEST['filter']['post_tag'] as $post_tag ) {
$post_tags[] = intval($post_tag);
}
$query['tax_query'][] = array(
'taxonomy' => 'post_tag',
'field' => 'id',
'terms' => $post_tags
);
unset($post_tags);
}
$query = array_merge( $wp_query->query, $query );
query_posts( $query );
}
?>
Пытаюсь уже несколько дней по аналогии сделать фильтр по произвольным полям, но ничего не получается...я понимаю что мне не хватает знаний, но я не могу найти инфу, на библиотеку Вордпресс уже аллергия, ниче не помогает...вся надежда на добрых участников этого потрясающего Форума!!!!!
P.S. как только закончу с этим фильтром и формой входа приобрету ВИП и несколько платных допов - это вовсе не попытка замотивировать помочь мне - я знаю что тут доброжелательные и отзывчивые люди, просто как факт, я искренне очень благодарен этому форуму и в частности разработчикам WP Recall, которые почему-то убрали Дополнение с возможностью поиска по произвольным полям, на которое я готов скинуться))
Благодарю за внимание!
Я что-то не обратил внимания что очень криво скинул примеры своего кода...
Андрей благодарю за ответ! Получается страница вывода постов с поискового запроса принципиально должна отличаться?!
Просто я умышленно оставлял action="/" и также пытался вообще не прописывать action, так как по плану за все отвечал index.php - то есть на нем все Посты и поисковой фильтр также должен был отрабатывать на этой же странице, без перенаправляения...по Вашему совету сделал с отдельной страницей и все сработало, хоть и не с первого раза, не знаю что именно было не так, но главное теперь работает, спасибо!!!
И большое спасибо за крайне подробное объяснение, получилось сформировать и с кастомными полями, и с диапазонами цен, и с пагинацией, все по Вашему мануалу!!!
Появился другой вопрос, но это уже, согласно правилам форума, другая тема))