Как переместить результаты поиска на определенную страницу?
Я хотел узнать, возможно ли отображать результаты поиска WordPress на другой странице?
В данный момент они отображаются по адресу http://www.mysite.com/?s=searchterm
, но я хотел бы, чтобы они отображались на моей странице с шаблоном search-results, то есть по адресу http://www.mysite.com/search/?s=searchterm
.
Это возможно?
Буду благодарен за любую помощь, С.

Вы создали страницу с ярлыком search
, чтобы "захватить" этот URL, но WordPress по умолчанию уже использует этот URL для результатов поиска. Поэтому вам "повезло", что это сработало, и именно поэтому упомянутый суперметод редиректа будет работать.
Вместо создания "фейковой" страницы для хранения шаблона, вам следует просто переименовать шаблон в search.php
, как предложил tnorthcutt. Если вы всё ещё хотите иметь контент со страницы, определённый в админке, я рекомендую переименовать эту страницу и получать её через get_posts()
или другой метод, потому что основной цикл будет содержать результаты поиска, а не эту конкретную страницу.

У меня недавно была похожая проблема, когда результаты поиска перенаправлялись в корень сайта, а не в /blog/
, где я хотел их отображать. Я решил это, создав файл searchform.php
и просто написал собственный шаблон поиска:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/blog/' ); ?>">
<div>
<label class="screen-reader-text" for="s">Поиск:</label>
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Найти" />
</div>
</form>
Секрет в этой строке: <?php echo home_url( '/blog/' ); ?>
. По умолчанию WordPress перенаправляет в корневую директорию, вот так: <?php echo home_url( '/' ); ?>
. Поэтому всё, что нужно сделать — указать директорию, в которой должны отображаться результаты поиска. Если searchform.php
существует в вашей теме, WordPress будет использовать его. Если нет — будет использована стандартная форма из ядра WordPress.

Похоже, вам просто нужно переименовать шаблон страницы. Попробуйте создать файл шаблона search.php
: http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29

Попробуйте этот плагин (или изучите исходный код, чтобы увидеть, как реализовано перенаправление — это всего несколько строк кода).
