Wordpress:ajax调用的Polylang和ACF Options页面采用默认语言值

问题描述 投票:0回答:1

我正在一个多语言的网站上工作。我们正在使用Polylang和ACF自定义字段插件。

一般工作正常,问题在于ACF选项页面。选项页面也以不同语言翻译。

我们从那里采取的内容是根据翻译显示 - 英文版的页面英文版,法文版等。

问题:我们有一个联系我们表单,我们从ACF选项页面获取收件人电子邮件地址。 (当我们使用不同的语言时,我们希望将其发送给不同的接收者。)

这里总是从默认语言选项页面获取电子邮件地址,我不明白为什么。

我们正在使用get field命令将电子邮件收件人带到ajax调用,就像在显示内容的页面上一样:

 get_field('service_email', 'option' );

有人知道是什么原因引起的吗?或者在哪里看?

wordpress advanced-custom-fields polylang acfpro
1个回答
0
投票

最后我们找到了解决方案。这需要一些挖掘,但我希望如果有人遇到同样的问题,这会有所帮助。

我们需要在主题的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的主题安装版本。

希望这会有所帮助,干杯

© www.soinside.com 2019 - 2024. All rights reserved.