Поиск по сайту:
Это ужасно тяжелая работа — ничего не делать (О. Уайльд).

Как использовать несколько поисковых форм в WordPress

01.09.2016
Как использовать несколько поисковых формы в WordPress

Недавно мы показали вам, как ограничить результаты поиска по конкретным типам постов в WordPress. Теперь мы собираемся показать вам, как вы можете создавать различные / множественные формы поиска в целом. Таким образом , каждая форма может быть ограничена поиском для определенного типа поста. Несмотря на то, что это не очень трудно потребует от вас как минимум иметь базовое понимание шаблонов WordPress.

Во-первых, вам будут нужны некоторые формы поиска. Поместите следующий код туда, куда вы хотите, чтобы они были в вашем блоге:

<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
<input type="text" value="" name="s" id="s" />
<input type="hidden" name="search-type" value="normal" />
<input name="submit" type="submit" value="Go" />
</form>

Для того, чтобы определить, будет делать каждая форма поиска, просто измените значение скрытого поля. Сейчас он установлен на “normal”, но это может быть все, что вы хотите. Далее, нам необходимо изменить файл search.php. Откройте его и замените все, что в нем с этим кодом (скопировать существующий код в буфер обмена во-первых, вы будете нуждаться в этом через минуту):

<?php
if(isset($_GET['search-type'])) {
    $type = $_GET['search-type'];
    if($type == 'random') {
        load_template(TEMPLATEPATH . '/normal-search.php');
    } elseif($type == 'books') {
        load_template(TEMPLATEPATH . '/books-search.php');
    }
}
?>

Таким образом, мы будем предполагать, что у вас есть две формы поиска, nornal и books. Этот код просто перенаправляет поиск в файле PHP, который обрабатывает этот конкретный запрос. Теперь мы просто должны создать эти файлы. Таким образом, создайте файл normal-search.php и файл book-search.php (замените значения “normal” и “book” на те значения, которые вы использовали).

Читать  Что такое: Опции темы

Как использовать несколько поисковых форм в WordPress

Теперь, в файле search.php скопируйте и вставьте следующий код:

$args = array( 'post_type' => 'post' );
$args = array_merge( $args, $wp_query->query );
query_posts( $args );

Сразу после этого вставьте код цикла из буфера обмена, скопированный из файла search.php. Вместе, этот код будет искать только ваши посты блога: normal. Теперь в файле book-search.php добавить этот кусок кода и снова вставить цикл после нее:

$args = array( 'post_type' => 'books' );
$args = array_merge( $args, $wp_query->query );
query_posts( $args );

Это приведет к WordPress для поиска только для пользовательского поста типа “book”. Вы можете повторить этот процесс на столько форм поиска, сколько вы хотели.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


Комментарии закрыты


Это может быть вам интересно


Рекомендуемое
В этом уроке мы покажем, как вы можете добавить простую…

Спасибо!

Теперь редакторы в курсе.