ACF ti permette di registrare campi e gruppi di campi usando il codice PHP. Per tradurre questi campi con WPML, devi prima renderli traducibili.
Per registrare campi programmaticamente devi usare la funzione acf_add_local_field_group. Poi, puoi rendere questi campi ACF traducibili specificando l’impostazione wpml_cf_preferences per ogni campo nel tuo codice.
Ci sono quattro valori numerici che puoi usare per wpml_cf_preferences:
- Ignora: 0
- Copia: 1
- Traduci: 2
- Copia una volta: 3
Qui sotto puoi vedere un esempio di aggiunta della chiave wpml_cf_preferences a un gruppo di campi registrato programmaticamente.
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' => '',
] );