Как переместить результаты поиска на определенную страницу?
Я хотел узнать, возможно ли отображать результаты поиска 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
Попробуйте этот плагин (или изучите исходный код, чтобы увидеть, как реализовано перенаправление — это всего несколько строк кода).