Афоризмы параметризуют нимбы святости. (Алан.Дж.Перлис)

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
1 сентября 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.

Просмотров: 60

Если статья понравилась, то поделитесь ей в социальных сетях:
Размер шрифта

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close