Navigation überspringen
Aktualisiert
Juli 23, 2024

ACF ermöglicht es Ihnen, Felder und Feldgruppen mithilfe von PHP-Code zu registrieren. Um diese Felder mit WPML zu übersetzen, müssen Sie sie zuerst übersetzbar machen.

Um Felder programmgesteuert zu registrieren, müssen Sie die Funktion acf_add_local_field_group verwenden. Dann können Sie diese ACF-Felder übersetzbar machen, indem Sie die Einstellung wpml_cf_preferences für jedes Feld in Ihrem Code angeben.

Es gibt vier numerische Werte, die Sie für wpml_cf_preferences verwenden können:

  • Ignorieren: 0
  • Kopieren: 1
  • Übersetzen: 2
  • Einmal kopieren: 3

Unten sehen Sie ein Beispiel für das Hinzufügen des Schlüssels wpml_cf_preferences zu einer programmgesteuert registrierten Feldgruppe.

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'        => '',
] );