Добро пожаловать в переполнение стека.
У меня была такая же проблема при работе с ACF Pro и WPML. Приведенный ниже код работал для меня.
Option1:
В приведенном ниже коде измените КОД ЯЗЫКА в условии IF в зависимости от вашего языка и используйте код поля_ для отображения указанного языкового поля c.
<?php
if(ICL_LANGUAGE_CODE == "en")
{
the_field ('telefono_de_contacto');
}
elseif(ICL_LANGUAGE_CODE == "es")
{
the_field ('telefono_es_contacto');
}
else
{
the_field ('telefono_fr_contacto');
}
?>
Option2:
Вы можете создать функцию в функции. php как показано ниже.
function cl_acf_set_language() {
return acf_get_setting('default_language');
}
function lg_opt($name) {
add_filter('acf/settings/current_language', 'cl_acf_set_language', 100);
$option = get_field($name, 'option');
remove_filter('acf/settings/current_language', 'cl_acf_set_language', 100);
return $option;
}
И затем вы можете использовать приведенный ниже код в файле шаблона для динамического вызова поля acf.
<?php language_code(lg_opt('email_address_en'),lg_opt('email_address_fr'),lg_opt('email_address_zh')); ?>
Мой сайт имеет 3 языка , Английский sh, французский и китайский. Таким образом, приведенный выше код основан на этом порядке.