WPML

גלה את הרשימה המלאה של קבועים והוקים של ACF Multilingual (ACFML), עם דוגמאות לשימוש בהם בקוד שלך.

הוקים של ACF Multilingual (ACFML)

acfml_should_translate_acf_entity

פילטר זה קובע אם ACFML מציג את התוויות המתורגמות של שדה או קבוצת שדות של ACF. החזר false כדי להציג את התוויות המקוריות בכל שפה. ערכי השדות אינם משתנים.

סוג: פילטר

זמינות: ACFML 2.1.4

פרמטרים:

$shouldTranslate
(bool) (נדרש) קובע אם השדה או קבוצת השדות יתורגמו. ברירת המחדל היא true.

$entity
(array) (נדרש) הישות המתורגמת, שהיא מערך שדה או מערך קבוצה.

$entityType
(string) (אופציונלי) סוג הישות המתורגמת. יכול להיות 'field' או 'group'.

דוגמה לשימוש בהוק:

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

	return $shouldTranslate;
}, 10, 3 );

acfml_field_group_mode_field_translation_preference

פילטר זה מאפשר לך לדרוס את העדפת התרגום המוגדרת כברירת מחדל עבור שדות ACF כאשר קבוצת שדות משתמשת באותו תוכן בכל שפה, מתורגם או בלכל שפה יש תוכן משלה.

הערה: פילטר זה משנה רק את העדפת התרגום המוגדרת כברירת מחדל, ולא את ההעדפה השמורה של שדות בודדים. אם תשנה את ברירת המחדל, יהיה עליך לשמור מחדש את קבוצות השדות המושפעות כדי שברירת המחדל החדשה תחול.

סוג: פילטר

זמינות: ACFML 2.0.0

פרמטרים:

$fieldTranslationPreference (int) (נדרש) העדפת התרגום המוגדרת כברירת מחדל עבור השדה. ערכים אפשריים:

  • 0 — אל תתרגם. WPML מתעלם מהשדה לחלוטין.
  • 1 — העתקה. ערך השדה מועתק לכל השפות ונשאר מסונכרן.
  • 2 — תרגום. ערך השדה זמין לתרגום.
  • 3 — העתק פעם אחת. ערך השדה מועתק לכל השפות פעם אחת, ולאחר מכן ניתן לערוך אותו בכל שפה באופן עצמאי.

$groupMode (string) (נדרש) מצב התרגום של קבוצת השדות. ערכים אפשריים: translation או localization.
$field (array) (נדרש) מערך השדה של ACF.

דוגמה לשימוש בהוק:

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

    if ( 'url' === $fieldType ) {
        return 1; // WPML_COPY_CUSTOM_FIELD
    }

    return $fieldTranslationPreference;
}, 10, 3 );

דוגמה זו מעניקה לסוג השדה url את העדפת העתקה במקום העדפת תרגום המומלצת עבורו.

קבועים של ACF Multilingual (ACFML)

ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS

החל מגרסה ACFML 2.1.5, תוכל להשתמש בקבוע זה כדי לכלול מחרוזות של קבוצת שדות במשימת התרגום של הפוסט.

כדי להפעיל זאת, הוסף את השורה הבאה לקובץ wp-config.php שלך:

define( 'ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS', false );

הערות:

  • אם יצרת משימת תרגום לפני הוספת קוד זה לקובץ wp-config.php שלך, בטל אותה וצור אחת חדשה.
  • תוכל לשלוח תוויות שדות ואפשרויות בחירה לתרגום דרך לוח בקרת תרגום במידת הצורך.

ACFML_HIDE_FIELD_ANNOTATIONS

לכל שדה מתורגם, ACF Multilingual מוסיף מידע על הערך בשפה המקורית.

כדי להסיר מידע זה משדות מתורגמים, תוכל להוסיף את השורה הבאה לקובץ wp-config.php של האתר שלך:

define( 'ACFML_HIDE_FIELD_ANNOTATIONS', true );

ACFML_REPEATER_SYNC_DEFAULT

קבוע זה מגדיר את מצב ברירת המחדל של תיבת הסימון Keep repeater and flexible sub-fields in the same order as the default language. ACFML מציג תיבת סימון זו בתיבה ACFML Synchronise translations של פוסט המשתמש באפשרות Expert. ברירת המחדל היא true, כך שתיבת הסימון מסומנת מראש. הגדר את הקבוע ל־false כדי להתחיל כשהתיבה אינה מסומנת. בחירה שתשמור בפוסט דורסת את ברירת המחדל הזו.

תוכל לדרוס את ערך ברירת המחדל של ACFML_REPEATER_SYNC_DEFAULT בקובץ functions.php של ערכת העיצוב שלך:

define('ACFML_REPEATER_SYNC_DEFAULT', false);

ACFML_SCAN_LOCAL_FIELDS

קבוע זה מגדיר את ברירת המחדל של ההגדרה Sync Translation Preferences for Local Fields תחת ACFכלים. הגדר אותו ל־true כדי לסנכרן את העדפות התרגום של שדות מקומיים (Local JSON ושדות הרשומים ב־PHP) בכל בקשת אזור ניהול. כאשר הקבוע אינו מוגדר או שהוא false, ACFML אינו מסנכרן אותם אוטומטית.

בחירה שתשמור תחת ACFכלים דורסת את הקבוע הזה. כדי לסנכרן פעם אחת, בחר שם באפשרות Sync once now ולחץ על החל.

למידע נוסף, עיין בתיעוד הרשמי של ACF בנושא שימוש ב־Local JSON (נפתח בלשונית חדשה).

נכתב על ידיAmir