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

use*_*010 0 wordpress rewrite qtranslate

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

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

www.mydomain.com/en/?s=test
Run Code Online (Sandbox Code Playgroud)

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

www.mydomain.com/en/page/2/?s=test
Run Code Online (Sandbox Code Playgroud)

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

www.mydomain.com/en/search/test/page/2/
Run Code Online (Sandbox Code Playgroud)

然后分页工作.

所以我想强制Wordpress使用/ search/permalink而不是/?s =查询字符串,但不知道如何做到这一点.

Jot*_*nan 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' );
Run Code Online (Sandbox Code Playgroud)

那么搜索网址就像搜索/测试而不是?s = test,这个功能很简单