После долгого отсутствия решил написать коротенькую статью о том, как сделать страницу поиска WordPress. Если кому-то будет интересно, а тем более понадобится в практике, жду вашего фидбека в комментариях! Приступим!

Шаг 1

Для начала создадим шаблон страницы средствами стандартного функционала WordPress. Для этого создайте файл в корне вашей темы с <любым названием>.php. В нем, в комментариях, необходимо дать название данному шаблону, следующей строчкой кода:

<?php
/*
Template Name: Поиск по сайту
*/
?>
Шаг 2

Далее, копируем содержимое page.php вашей темы и в вставляем в файлк с только что созданным шаблоном. Все, что внутри цикла удаляем. У меня получилось примерно так:

<?php
/*
Template Name: Поиск по сайту
*/
?>

<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php while ( have_posts() ) : the_post();

endwhile; // End of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_footer(); ?>
Шаг 3

Далее, вставляем стандартную форму поиска WordPress <?php get_search_form(); ?> внутрь пустого цикла:

<?php
/*
Template Name: Поиск по сайту
*/
?>

<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php while ( have_posts() ) : the_post();
get_search_form(); 
endwhile; // End of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_footer(); ?>
Шаг 4

Дело за малым, осталось создать страничку в админке и выбрать шаблон поиска:

Выбор шаблона страницы поиска

Выбор шаблона страницы поиска

Если вы откроете данную страницу, вы увидите форму поиска. Немного поигравшись со стилями я получил это:

Итоговая страница формы поиска WordPress

Итоговая страница формы поиска WordPress

Шаг 5

Но, думаю, вряд-ли кто-то кроме нас с вами догадается, что это форма поиска по сайту, поэтому, было решено добавить заголовок и пояснительный текст. Это можно сделать, добавив теги и текст непосредственно в шаблон страницы. Но, предусмотрев дальнейшее редактирование лучше вывести заголовок и текст, заданные при создании страницы, стандартными функциями WordPress <?php the_title(); ?> и <?php the_content() ?> соответственно:

<?php
/*
Template Name: Поиск по сайту
*/
?>

<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php while ( have_posts() ) : the_post();
the_title( '<h1 class="entry-title">', '</h1>' ); 
get_search_form();  
the_content();
endwhile; // End of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_footer(); ?>

Смотрим на результат: [Клик]

Страница формы поиска с описанием

Страница формы поиска с описанием

За пару минут мы получили страницу поиска для WordPress сайта. Она даже работает!
Причем, данное решение должно срабатывать на сайте с любым шаблоном (если автор темы не из отряда «кривопальцый жопорук»).

 

Спасибо, что добрались до этого места. Надеюсь, кому-то пригодится)