我有一个wordpress网站,有多个翻译,我试图让网站确定要从URL加载的语言,例如,如果https://website.com/sp/about-us, 加载内容https://website.com/about-us, 但用西班牙语。
我试过这样的方法,
add_action(\'plugins_loaded\', \'reroute_url\');
function reroute_url(){
$languages = [\'sp\'];
$uri = $_SERVER[\'REQUEST_URI\'];
$uri_components = explode("/", $uri);
$language = $uri_components[1];
if (!in_array($language, $languages)){
return;
}
$_SERVER[\'REQUEST_URI\'] = substr($uri, 1 + strlen($language)).\'?language=\'.$language;
}
基本上正在转换
https://website.com/sp/about-us 到
https://website.com/about-us?language=sp 因此,我可以使用这个GET参数来更改语言,但最终导致wordpress重定向到
https://website.com/about-us?language=sp. 有没有一种方法可以将转换后的url传递给wordpress,而不必重定向到此url?
SO网友:Matthew Brown aka Lord Matt
我不确定这是否是最好的方法,但这是我首先要尝试的。
我将创建一个称为语言的分类法(如类别)。甚至可以使用类别(如果它们不用于其他内容)。你可以构建永久链接example.com/<cat-name>/<page-stub>
因此,将语言作为URL的一部分。我想您可以对自定义分类法执行同样的操作。
这将允许您为每种语言建立单独的归档。
您可以使用register taxonomy 创建新的类类别或类标记分类法。