如何在wordpress中修改搜索查询?

时间:2012-03-01 20:52:17

标签: wordpress

我正在使用wordpress并在标题中有一个搜索框。它根据帖子进行搜索。现在我想用城市下拉搜索框修改此搜索框。我还在数据库中添加了新城市表。我需要在城市的基础上运行搜索框。

请指导。

谢谢, 迪帕克

2 个答案:

答案 0 :(得分:1)

如果您为位置制作了一个特殊的表格,那么您可能需要自己的搜索查询,并从那个查询开始,以满足您的需求。

一个好的开始是创建一个新的模板文件,你要在其中提交你的搜索表单,以及functions.php中的搜索功能,这是你主题中的必填文件。

我在http://matthewaprice.com/search-multiple-custom-fields-in-wordpress/

找到了一个关于如何做到这一点的好例子

但是,您可能会问为什么需要为此编写特殊搜索功能?你说你在数据库中添加了一个新表,它不是wordpress默认的taxnomy系统的一部分,所以你不会考虑你的额外搜索参数。

此外,我不建议您修改核心搜索功能,因为在某些特定时间您可能希望进行升级等等,这会使您的搜索陷入困境。 functions.php方式是更安全的方式,可以更快地产生结果。

我希望这会有所帮助。

答案 1 :(得分:0)

您只需在WordPress主题目录的functions.php文件中添加以下代码即可。

function searchfilter($query) {

if ($query->is_search && !is_admin() ) {
    $query->set('post_type',array('trip'));
}

return $query;
}

add_filter('pre_get_posts','searchfilter');

这里trip是我的自定义帖子类型,现在WordPress的默认搜索功能将仅在自定义帖子类型trip中搜索。 您可以根据需要对其进行修改。