Добавление этих сниппетов в вашу тему 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>
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
