Я хотел бы создать форму расширенного поиска для определенного настраиваемого типа записей, с фильтрами для настраиваемых полей настраиваемых типов записей, настраиваемых таксономий и для отдельных свойств настраиваемых типов записей (полей и таксономий), которые будут ссылками на первый Тип публикации с использованием настраиваемого поля отношения.
Недавно я начал с пользовательских типов записей WP, полей и таксономий, мне это до сих пор нравится, но, чтобы извлечь максимальную выгоду из этого, я бы хотел иметь возможность искать его правильно. Нужно ли делать это вручную? Если так, то как?
PS. Если это имеет значение, я использую плагины: Advanced Custom Fields и Custom Post Type UI .
Ниже я привел пример того, как будет выглядеть фильтрация и как она может относиться к типам записей выше.
Ответы:
Я думаю, что-то вроде этого тебе лучше всего написать самому.
Взгляните на: http://www.catalysthomes.co.uk/homes-for-sale/
Свойства загружаются в CPT, и у меня есть собственный поиск в боковой панели. Из этого поиска он ищет ряд вещей, таких как таксономии, настраиваемые поля и упорядочение по дате и т. Д.
Так как мне этого добиться? Я отправляю форму в шаблон страницы и оттуда имею дело с данными публикации и создаю новый запрос WP_query на основе критериев поиска. Я использую сеансы для хранения переменных поиска, чтобы я мог разбивать на страницы результаты.
WP_Query очень мощный. Посмотрите: http://codex.wordpress.org/Class_Reference/WP_Query
Там вы можете использовать
meta_query
для запроса нескольких пользовательских полей и использоватьtax_query
для запроса ваших таксономий, плюс еще многое другое. Ниже показано, как мой построен, чтобы дать вам идею.Файл шаблона:
Сырые результаты
результаты поиска
Макет списка Просто стандартный цикл WP, чтобы показать выдержки из поста и информацию.
источник
Попробуйте плагин Taxonomy Picker вместе с Relevanssi. Убийственная комбинация.
http://www.squidoo.com/taxonomy-picker-wordpress-plugin http://wordpress.org/extend/plugins/relevanssi/
источник
Взгляните на плагин Relevanssi, он может сделать то, что вы ищете: http://wordpress.org/extend/plugins/relevanssi/
источник
Если у кого-то возникают проблемы с реализацией решения Брэди, описанного выше (как я это сделал), вот подсказка: похоже, у WordPress есть некоторые проблемы с передачей данных сеанса, поэтому вам, вероятно, придется сделать что-то дополнительное, чтобы заставить его работать должным образом. Вопросы обсуждаются здесь
В functions.php:
В вашем шаблоне:
Для меня установка плагина Питера Вустера " Simple Session Support " сделала свое дело.
источник