WPML

Entdecken Sie die vollständige Liste der Konstanten und Hooks von ACF Multilingual (ACFML) mit Beispielen für deren Verwendung in Ihrem Code.

Hooks in ACF Multilingual (ACFML)

acfml_should_translate_acf_entity

Dieser Hook ermöglicht es Ihnen, zu bestimmen, ob ACF-Felder oder -Feldgruppen übersetzt werden sollen. Durch die Verwendung dieses Filters können Sie die Übersetzung bestimmter Felder oder Gruppen basierend auf Ihrer eigenen Logik überspringen.

Typ: Filter

Verfügbarkeit: ACFML 2.1.4

Parameter:

$shouldTranslate
(bool) (Erforderlich) Ob das Feld oder die Feldgruppe übersetzt werden soll. Standardmäßig auf true gesetzt.

$entity
(array) (Erforderlich) Die Entität, die übersetzt wird. Dies ist entweder ein Feld-Array oder ein Gruppen-Array.

$entityType
(string) (Optional) Der Typ der Entität, die übersetzt wird. Dies kann entweder ‚field‘ oder ‚group‘ sein.

Beispiel für die Verwendung des Hooks:

add_filter( 'acfml_should_translate_acf_entity', function( $shouldTranslate, $entity, $entityType ) {
	if ( 'field' === $entityType ) {
		return false;
	}

	return $shouldTranslate;
} );

acfml_field_group_mode_field_translation_preference

Dieser Filter ermöglicht es Ihnen, die standardmäßige Übersetzungspräferenz für ACF-Felder zu überschreiben, wenn eine Feldgruppe den Modus Gleiche Felder (Same fields) oder Unterschiedliche Felder (Different fields) verwendet.

Hinweis: Dieser Filter ändert nur die standardmäßige Übersetzungspräferenz, nicht die gespeicherte Präferenz einzelner Felder. Wenn Sie den Standardwert ändern, müssen Sie die betroffenen Feldgruppen erneut speichern, damit der neue Standardwert angewendet wird.

Typ: Filter

Verfügbarkeit: ACFML 2.0.0

Parameter:

$fieldTranslationPreference (int) (Erforderlich) Die standardmäßige Übersetzungspräferenz für das Feld. Mögliche Werte:

  • 0Nicht übersetzen. WPML ignoriert das Feld vollständig.
  • 1Kopieren. Der Feldwert wird in alle Sprachen kopiert und bleibt synchronisiert.
  • 2Übersetzen. Der Feldwert wird für die Übersetzung verfügbar gemacht.
  • 3Einmal kopieren. Der Feldwert wird einmal in alle Sprachen kopiert und kann danach in jeder Sprache unabhängig bearbeitet werden.

$groupMode (string) (Erforderlich) Der Übersetzungsmodus der Feldgruppe. Mögliche Werte: translation oder localization.
$field (array) (Erforderlich) Das ACF-Feld-Array.

Beispiel für die Verwendung des Hooks:

add_filter( 'acfml_field_group_mode_field_translation_preference', function( $fieldTranslationPreference, $groupMode, $field ) {
    $fieldType = $field['type'] ?? null;

    if ( 'link' === $fieldType ) {
        return 2; // WPML_TRANSLATE_CUSTOM_FIELD
    }

    return $fieldTranslationPreference;
}, 10, 3 );

Dieses Beispiel erzwingt, dass der Feldtyp link übersetzbar ist, und überschreibt dessen standardmäßige Präferenz copy oder copy_once.

Konstanten in ACF Multilingual (ACFML)

ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS

Ab ACFML 2.1.5 können Sie diese Konstante verwenden, um Strings von Feldgruppen in den Beitrags-Übersetzungsauftrag aufzunehmen.

Um dies zu aktivieren, fügen Sie die folgende Zeile zu Ihrer Datei wp-config.php hinzu:

define( 'ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS', false );

Hinweise:

  • Wenn Sie einen Übersetzungsauftrag erstellt haben, bevor Sie diesen Code zu Ihrer Datei wp-config.php hinzugefügt haben, brechen Sie ihn ab und erstellen Sie einen neuen.
  • Bei Bedarf können Sie Feldbezeichnungen und Auswahlmöglichkeiten über das Übersetzungs-Dashboard zur Übersetzung senden.

ACFML_HIDE_FIELD_ANNOTATIONS

Zu jedem übersetzten Feld fügt ACF Multilingual Informationen über den Wert in der Originalsprache hinzu.

Um diese Informationen aus übersetzten Feldern zu entfernen, können Sie die folgende Zeile zur Datei wp-config.php Ihrer Website hinzufügen:

define( 'ACFML_HIDE_FIELD_ANNOTATIONS', true );

ACFML_REPEATER_SYNC_DEFAULT

Sie können diese Konstante verwenden, um den Standardwert der Synchronisierungsfunktion für Repeater-Felder festzulegen. Sie ist standardmäßig auf true gesetzt. Das bedeutet, dass die Repeater-Felder automatisch über alle Übersetzungen hinweg synchronisiert werden. Wenn Sie diese Konstante auf false setzen, wird die Synchronisierung der Repeater-Felder deaktiviert.

Sie können den Standardwert von ACFML_REPEATER_SYNC_DEFAULT in der Datei functions.php Ihres Themes überschreiben:

define('ACFML_REPEATER_SYNC_DEFAULT', false);

ACFML_SCAN_LOCAL_FIELDS

Wenn Sie diese Konstante auf false setzen, wird das Durchsuchen von JSON-Dateien nach lokalen Feldern deaktiviert.

Das bedeutet, dass Änderungen der Übersetzungspräferenz in lokalen Feldern nicht mit der Datenbank synchronisiert werden. Sie müssen die Übersetzungspräferenz für Felder manuell festlegen.

Weitere Informationen finden Sie in der offiziellen ACF-Dokumentation über die Verwendung von lokalem JSON.

Geschrieben von Amir · Zuletzt aktualisiert am 30. Juni 2026