Добавление этих сниппетов в вашу тему WordPress позволит вам настроить различные шаблоны для поиска под произвольные типы записей.
Шаблон поиска
Создаем новый файл под названием search.php и добавляем в него следующий шаблон поиска. Изменяем значение $search_refer= CUSTOM_POST_TYPE на название ваших произвольных типов записей. Также необходимо будет изменить путь шаблона на соответствующий путь для вывода результатов.
<? /* Template Name: Результаты поиска */ $search_refer = $_GET["post_type"]; if ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_one-name.php'); } elseif ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_two-name.php'); }; ?>
Выводим результаты поиска
Добавляем этот query_post выше цикла в шаблоне поиска, который вы создали. Не забудьте изменить значение CUSTOM_POST_TYPE для каждого вашего шаблона.
<?php $args = array( 'post_type'=> 'CUSTOM_POST_TYPE', 's' => $s, 'paged' => $paged, ); query_posts($args); ?>
Форма поиска
Добавьте этот HTML код в шаблон в то место, где вы хотите вывести форму поиска. Вам нужно будет изменить значение CUSTOM_POST_TYPE на тот тип записи, который нужно адаптировать к поиску. Также необходимо создавать новую форму поиска для каждого типа записи или использовать меню для выбора post_type.
<form id="searchform" action="<?php bloginfo('home'); ?>/" method="get"> <input id="s" maxlength="150" name="s" size="20" type="text" value="" class="txt" /> <input name="post_type" type="hidden" value="CUSTOM_POST_TYPE" /> <input id="searchsubmit" class="btn" type="submit" value="Поиск" /> </form>
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.