当我用"&"搜索类别名称时,搜索结果不会显示在wordpress管理部分。例如:当我搜索关键字"&测试",然后显示"没有找到类别",但当我搜索只有关键字"测试",然后它返回实际结果。但在我的类别部分有一个类别名称"test &测试"。
你能告诉我为什么会出现这种类型的错误以及如何修复它吗
没有代码很难知道发生了什么,但我还是要在黑暗中尝试一下,因为编码对大多数人来说并不容易理解。
如果您要向url添加搜索词,例如:
?search=some text to search for
您需要对正在搜索的值进行URL编码。大多数字符在没有适当的url编码的情况下也能正常工作(因为系统被设计成即使在输入错误的情况下也能正常工作),但是&
字符将不能。
正确编码上面的值将是:
?search=some%20text%20to%20search%20for
或者可能(+
和%20
都可以用来表示空格字符):
?search=some+text+to+search+for
很可能您的代码只是将一个值连接到一个查询字符串中,而不转义特殊字符。在查询字符串中,&
字符用于分隔不同的键值对。只需对值进行URL编码,使其读作:
?search=test%20%26%20test
并且搜索应该能够正确读取传递的值