有谁知道如何让 Wordpress 系统适应复数搜索?
IE,如果用户搜索“响应式主题”,它也会搜索“响应式主题”
我不是 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.
现在使用单数术语搜索您的数据库。如果您使用 SQLLIKE "%term%"
或LIKE "term%"
, 复数术语也应该匹配(我认为FULLTEXT
也是)。
如果您需要将单数搜索重新转换为字符串:
$singular_query_string = implode(' ',$search_terms_singular);
同样,这是一个快速而肮脏的解决方案,只影响以“s”结尾的单词,但我在 Magento 中使用了类似的代码,发现它非常有效。
这是一个很好的答案。它建议使用inflector
in 类wp-dev-library
来创建一个自定义函数,该函数将单数化复数单词以完成您所描述的操作。