0

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

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

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

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

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

这会引发 404 错误,但如果我像这样手动修改 URL:

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

然后分页工作。

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

4

1 回答 1

7

您可以通过以下功能来完成,将其粘贴到您的主题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' );

那么搜索 url 将类似于 search/test 而不是 ?s=test,这个功能很简单

于 2013-08-09T04:57:04.397 回答