更改默认的wp搜索字符串

时间:2021-02-27 作者:Aman Rawat

默认情况下,当我们在基于WordPress的博客上搜索内容时,WordPress在空格之间使用+。有没有办法把+改成连字符。

1 个回复
SO网友:Tom J Nowell

默认情况下,WordPress在空格之间使用+符号

不,它不会。WordPress不会生成+ 字符,它不使用这些字符,也看不到它们。

那么+ 来自哪里

浏览器和URL。URL参数中的空格编码为+ 字符或%20. 表格特别成为+.

提交输入到HTML表单中的数据时,表单字段名称和值将进行编码,并使用方法GET或POST,或历史上通过电子邮件,在HTTP请求消息中发送到服务器。[3] 默认情况下使用的编码基于早期版本的通用URI百分比编码规则[4],并进行了大量修改,如换行规范化和将空格替换为+而不是%20。以这种方式编码的数据的媒体类型是application/x-www-form-urlencoded,它目前在HTML和XForms规范中定义。此外,CGI规范包含web服务器如何解码此类数据并使其可用于应用程序的规则。

https://en.wikipedia.org/wiki/Percent-encoding#The_application/x-www-form-urlencoded_type

搜索URL转换"test data"test+data 因为这就是HTML表单生成的URL参数的工作方式。

但这能做到吗

有没有办法把+改成连字符。

Not without causing major problems, and unexpected bugs. 为此,您需要截取表单输入,并将输入中的空格替换为- 使用javascript。

然后,您需要在PHP端截取它并撤消更改。因此,不可能搜索包含连字符的内容。这也将破坏许多主题和插件的搜索功能。

这也会破坏大多数搜索插件,并干扰SEO插件,SEO插件会将搜索查询解释为带有连字符的单个单词。

相关推荐

search based on custom field

我的问题是,有没有办法将wordpress的搜索配置为在自定义帖子类型中搜索自定义字段值。//------------html code--------------------// <input type=\"text\" name=\"keyword\" id=\"keyword\" onkeyup=\"fetch()\"></input> <div id=\"datafetch\"></div> &#x