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:
0— Nicht übersetzen. WPML ignoriert das Feld vollständig.1— Kopieren. Der Feldwert wird in alle Sprachen kopiert und bleibt synchronisiert.2— Übersetzen. Der Feldwert wird für die Übersetzung verfügbar gemacht.3— Einmal 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.