在WordPress中搜索多个术语

时间:2013-11-11 19:17:52

标签: php wordpress

有谁知道如何使Wordpress系统适应多个搜索?

IE,如果用户搜索“自适应主题”,它还会搜索“自适应主题”

2 个答案:

答案 0 :(得分:0)

Here’s a good answer。它建议使用inflector中的wp-dev-library类来创建一个自定义函数,该函数将单个化多个单词以完成您所描述的内容。

答案 1 :(得分:0)

我不是wordpress专家,但我可以推荐一个简单的快捷方式,涵盖复数以“s”结尾的单词。

获取传入的搜索词,并从任何单词中删除最后的“s”。

我想wordpress会为搜索查询提供一系列术语吗?如果没有,你可以创建一个这样的:

$query_string = 'Dogs and cats';

$search_terms = array_filter(explode(' ',$query_string)); // explode creates an array, filter removes any empty elements.

$search_terms_singular = array_map('rtrim',$search_terms,array_fill(0,sizeof($search_terms),'s')); // trim "s" from the end of every word.

现在使用单数术语搜索您的数据库。如果您使用的是SQL LIKE "%term%"LIKE "term%",我也应该匹配多个术语(我认为FULLTEXT也是如此)。

如果你需要将单数搜索重新变成一个字符串:

$singular_query_string = implode(' ',$search_terms_singular);

同样,这是一个快速而肮脏的解决方案,仅影响以“s”结尾的单词,但我在Magento中使用了类似的代码并发现它非常有效。