如何将搜索结果移至特定页面?

时间:2011-02-21 作者:sta777

我想知道wordpress的搜索结果是否可以显示在其他页面上?

此时它们显示在http://www.mysite.com/?s=searchterm 但我想在我的search-results 模板页,sohttp://www.mysite.com/search/?s=searchterm.

这可能吗?

非常感谢您的帮助,S。

4 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

您使用slug创建了一个页面search “捕获”该URL,但默认情况下WordPress已经将该URL用于搜索结果。所以你很幸运这对你有用,这就是原因the redirect supermethod mentioned 将起作用。

因此,与其创建一个“假”页面来保存模板,不如将模板重命名为search.php, like tnorthcutt suggested. 如果您仍然希望在管理区域中定义页面的内容,我建议您重命名此页面并通过get_posts() 或其他方法,因为主循环将包含搜索结果,而不是此特定页面。

SO网友:Travis Northcutt

看起来您可能只需要重命名模板页。尝试创建search.php 模板文件:http://codex.wordpress.org/Theme_Development#Search_Results_.28search.php.29

SO网友:kristina childs

最近,我遇到了一个类似的问题,搜索结果将指向根目录,而不是/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核心函数中包含的默认表单。

SO网友:supermethod

试试这个插件(或者也可以阅读源代码,看看重定向是如何完成的——只需几行代码)。

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

结束

相关推荐

Search result permalink

如何使permalink可用于搜索结果页/?s=一+二+确定到/搜索/一-二确定/感谢