Как переместить результаты поиска на определенную страницу?

21 февр. 2011 г., 17:13:47
Просмотры: 21K
Голосов: 7

Я хотел узнать, возможно ли отображать результаты поиска WordPress на другой странице?

В данный момент они отображаются по адресу http://www.mysite.com/?s=searchterm, но я хотел бы, чтобы они отображались на моей странице с шаблоном search-results, то есть по адресу http://www.mysite.com/search/?s=searchterm.

Это возможно?

Буду благодарен за любую помощь, С.

0
Все ответы на вопрос 4
0

Вы создали страницу с ярлыком search, чтобы "захватить" этот URL, но WordPress по умолчанию уже использует этот URL для результатов поиска. Поэтому вам "повезло", что это сработало, и именно поэтому упомянутый суперметод редиректа будет работать.

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

22 февр. 2011 г. 10:19:08
0

У меня недавно была похожая проблема, когда результаты поиска перенаправлялись в корень сайта, а не в /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.

27 нояб. 2012 г. 01:50:59
0

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

21 февр. 2011 г. 17:18:07
0

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

http://wordpress.org/extend/plugins/nice-search/

21 февр. 2011 г. 17:16:05