撇号后的WordPress搜索中断

时间:2019-04-09 19:18:38

标签: wordpress

我正在尝试调试我网站上有关搜索的某些行为。发生的事情是我想找到类似的内容:res <- mtcars %V>% group_by(cyl) %V>% sample_frac(0.1) %V>% summarise(res = mean(mpg)) # you'll have to test this one by yourself ,如果我键入What's your Customers' Love Language?,它将显示该内容。问题是,当我在撇号后输入任何内容时,突然找不到我的帖子。

所有具有这种标题的帖子都在发生这种情况。

这是我的搜索表单的代码(使用this主题):

What'

奇怪的是,它正在识别撇号,所以我认为不需要对特殊字符进行消毒。它使用默认的WP搜索,没有添加任何其他内容,因此我真的很困惑。

我们将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

Wordpress似乎运行wptexturize()函数,将引号转换为智能引号,因此您看到的是'而不是,因此当您搜索what’s时不会返回任何内容,因为尽管该帖子的拼写实际上是这样的,但拼写为what's

解决此问题的方法是通过放置此功能来阻止运行此功能 add_filter('run_wptexturize', '__return_false');文件中的function.php


在这里查看更多信息:

Wordpress replacing single quotes with search-unfriendly ones

Code Reference - wptexturize()

Disable wptexturize()