如何在Wordpress中将搜索查询字符串更改为永久链接?

时间:2013-08-08 22:12:24

标签: wordpress rewrite qtranslate

使用搜索时,我的Wordpress网站出现问题。这可能是由于qTranslate插件。

所以我打开了永久链接,当我使用搜索字段时,我得到的URL是?s =查询字符串,如下所示:

www.mydomain.com/en/?s=test

上面的网址工作得很好但是如果我有很多显示分页按钮的搜索结果,那些按钮上的链接会导致404错误。第二页的链接具有以下URL:

www.mydomain.com/en/page/2/?s=test

这会抛出404错误但如果我手动修改这样的URL:

www.mydomain.com/en/search/test/page/2/

然后分页工作。

所以我想强制Wordpress使用/ search / permalink而不是/?s =查询字符串,但不知道该怎么做。

1 个答案:

答案 0 :(得分:6)

您可以通过以下功能将其粘贴到主题functions.php

function change_search_url_rewrite() {
    if ( is_search() && ! empty( $_GET['s'] ) ) {
        wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
        exit();
    }   
}
add_action( 'template_redirect', 'change_search_url_rewrite' );

然后搜索网址会像搜索/测试而不是?s = test,这个功能退出简单