我正在一个多语言的网站上工作。我们正在使用Polylang和ACF自定义字段插件。
一般工作正常,问题在于ACF选项页面。选项页面也以不同语言翻译。
我们从那里采取的内容是根据翻译显示 - 英文版的页面英文版,法文版等。
问题:我们有一个联系我们表单,我们从ACF选项页面获取收件人电子邮件地址。 (当我们使用不同的语言时,我们希望将其发送给不同的接收者。)
这里总是从默认语言选项页面获取电子邮件地址,我不明白为什么。
我们正在使用get field命令将电子邮件收件人带到ajax调用,就像在显示内容的页面上一样:
get_field('service_email', 'option' );
有人知道是什么原因引起的吗?或者在哪里看?
最后我们找到了解决方案。这需要一些挖掘,但我希望如果有人遇到同样的问题,这会有所帮助。
我们需要在主题的functions.php中添加以下设置,以便为每种语言翻译ACF选项页面:
// Translating Options Page Compatibility
// add filter with the path to your acf installation
add_filter('acf/settings/default_language', 'my_settings_default_language');
add_filter('acf/settings/current_language', 'my_settings_current_language');
function my_settings_default_language( $lang ) {
if($lang == "") {
$lang = pll_default_language(); // pll_ is a polylang function
}
return $lang;
}
function jfrog_settings_current_language( $lang ) {
$lang = pll_current_language();
return $lang;
}
附注:我们正在使用ACF的主题安装版本。
希望这会有所帮助,干杯