我想翻译一些主题字符串。我可以使用URL参数触发翻译。
add_filter('locale', 'change_locale_param');
function change_locale_param($locale){
if(isset($_GET['lang'])){
return sanitize_text_field($_GET['lang']);
}
return $locale;
}
但是,我想根据页面是否是带有slug的页面的后代来执行此操作
es
。
我尝试了这种方式,它更改了
html
标签
add_filter('locale', 'change_locale_slug');
function change_locale_slug($locale){
$es = get_id_by_slug('es');
$en = get_id_by_slug('en');
if(is_page('es') || is_child_of($es)){
return 'es';
}
elseif(is_front_page() || is_child_of($en) || !has_post_parent()){
return 'en';
}
return $locale;
}
有办法做到这一点吗?URL参数是如何触发翻译的?我如何复制这种行为?
奇怪的是,翻译出现在页面上
/es/contacto/
但不在,比如,
/es/
或
/es/politica-de-privacidad/
。