通过 Polylang 插件更改语言时,有没有办法保留 URL 中的所有查询参数?

Tad*_*Tad 2 wordpress polylang

当在页面上的帖子的 URL 中设置查询然后通过 Polylang 插件更改语言时,它会重置链接并删除参数和查询。该页面是基于我开发的自定义主题的 Wordpress 构建的。./en/projects/?tag_kem_en%5B%5D=three-springs更改为./projekty/ 我用以下代码更改语言: pll_the_languages($args);

gra*_*ler 8

您可以通过调整 Polylang 提供的 URL 来包含查询参数pll_the_languages()

我使用这个代码片段让它工作。

/**
 * Filter the translation url of the current page before Polylang caches it.
 *
 * @param null|string $url The translation url, null if none was found.
 */
function url_query_string( $url ) {
    if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
        return $url . '?' . $_SERVER['QUERY_STRING'];
    }
    return $url;
}
add_filter( 'pll_the_language_link', 'url_query_string' );
Run Code Online (Sandbox Code Playgroud)

Ps 确保为函数添加前缀或使用命名空间。