O ACF permite registrar campos e grupos de campos usando código PHP. Para traduzir esses campos com WPML, primeiro é necessário torná-los traduzíveis.
Para registrar campos programaticamente, é necessário usar a função acf_add_local_field_group. Em seguida, você pode tornar esses campos ACF traduzíveis especificando a configuração wpml_cf_preferences para cada campo em seu código.
Existem quatro valores numéricos que você pode usar para wpml_cf_preferences:
- Ignorar: 0
- Copiar: 1
- Traduzir: 2
- Copiar uma vez: 3
Abaixo você pode ver um exemplo de adição da chave wpml_cf_preferences a um grupo de campos registrado programaticamente.
acf_add_local_field_group( [
'key' => 'group_1',
'title' => 'My Group',
'fields' => [
[
'key' => 'field_1',
'label' => 'Sub Title',
'name' => 'sub_title',
'type' => 'text',
'prefix' => '',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
'maxlength' => '',
'readonly' => 0,
'disabled' => 0,
'wpml_cf_preferences' => 2, // This field ("Sub Title") will be translated.
],
],
'location' => [
[
[
'param' => 'post_type',
'operator' => '==',
'value' => 'post',
],
],
],
'menu_order' => 0,
'position' => 'normal',
'style' => 'default',
'label_placement' => 'top',
'instruction_placement' => 'label',
'hide_on_screen' => '',
] );