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


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

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

Возможно ли это?

Любая помощь с благодарностью, С.

 6
Author: t31os, 2011-02-21

4 answers

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

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

 6
Author: Jan Fabry, 2017-04-13 12:37:48

Недавно у меня была аналогичная проблема, когда результаты поиска направлялись в корень, а не в /blog/, где я действительно хотел, чтобы результаты отображались. Я решил эту проблему, создав searchform.php и просто написал пользовательский шаблон поиска:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/blog/' ); ?>">
    <div>
        <label class="screen-reader-text" for="s">Search for:</label>
        <input type="text" value="" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="Search" />
    </div>
</form>

Секрет заключается в бите <?php echo home_url( '/blog/' ); ?>. По умолчанию wordpress будет разрешен в домашнем каталоге, как это <?php echo home_url( '/' ); ?>. Поэтому все, что вам нужно сделать, это указать, в каком каталоге вы хотите отображать результаты поиска. Если searchform.php существует в вашей теме, она будет использовать тот. Если нет, он будет использовать форму по умолчанию, включенную в основные функции wordpress.

 2
Author: kristina childs, 2012-11-27 00:01:35

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

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

 1
Author: supermethod, 2011-02-21 15:43:44

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

 1
Author: Travis Northcutt, 2011-02-21 21:28:17