Как я могу переместить результаты поиска на определенную страницу?
Мне было интересно, можно ли отобразить результаты поиска wordpress на другой странице?
На данный момент они отображаются на http://www.mysite.com/?s=searchterm
, но я бы хотел, чтобы они отображались на моей странице шаблона результатов поиска, поэтому http://www.mysite.com/search/?s=searchterm
.
Возможно ли это?
Любая помощь с благодарностью, С.
4 answers
Вы создали страницу с слагом search
, чтобы "захватить" этот URL, но WordPress по умолчанию уже использует этот URL для результатов поиска. Итак, вам "повезло", что это сработало для вас, и именно по этой причине упомянутый суперметод перенаправления будет работать.
Итак, вместо того, чтобы создавать "поддельную" страницу для размещения шаблона, вам следует просто переименовать шаблон в search.php
, как предложил тнорткатт. Если вы все еще хотите иметь контент со страницы, определенной в области администрирования, я предлагаю вам переименовать эту страницу и получить ее с помощью 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">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.
Попробуйте этот плагин (или прочитайте источник, посмотрите, как выполняется перенаправление - это всего несколько строк кода).
Похоже, вам просто нужно переименовать страницу шаблона. Попробуйте создать файл шаблона search.php
: http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29