我的默认搜索查询:
example.com/search/?search_text=keyword
我想要改变的是:
example.com/search/keyword
所以我在我的
function.php
add_rewrite_rule(\'^search/([^/]*)?\',\'index.php?pagename=search&search_text=$matches[1]\',\'top\');
对于英文字母表很好,但每当我用我的语言搜索关键字时,如下所示:
example.com/search/kırmızı
页面标题变为:
k%C4%B1rm%C4%B1z%C4%B1
没有返回结果。
如果你需要更多细节,请告诉我。
最合适的回答,由SO网友:Johansson 整理而成
这是由于编码造成的。我假设您的搜索页面中有一个函数,您可以获取并使用该函数search_text
在该模板内。在执行此操作之前,应先对URL进行解码。
这个urldecode()
功能将是您所寻找的。您的字符串也是UTF-8编码的,因此您需要:
$string = utf8_decode( urldecode( $_GET[\'search_text\'] ) );
现在,您可以在搜索中使用解码的字符串。