כיצד לתרגם שדות מותאמים אישית של ACF ב־WordPress – קבוצות שדות, Repeaters, עמודי אפשרויות
למד כיצד לתרגם כל שדה מותאם אישית של ACF באתר ה־WordPress שלך לכל שפה שהמבקרים שלך דוברים. מדריך זה מכסה קבוצות שדות, Repeaters, Flexible Content, שדות תמונה, עמודי אפשרויות ואת תוויות השדות עצמן. ACFML מנתב שדות של ACF ושל ACF Pro דרך תהליך התרגום של WPML, כך שהם מתורגמים יחד עם תוכן הפוסט שלך.
לפני שתתחיל
התקן והפעל את התוספים הבאים:
- Advanced Custom Fields או ACF Pro.
- WPML ו־WPML תרגום מחרוזות.
- ACFML (התוסף הנלווה שמכוסה בעמוד זה).
קבוצות השדות שלך צריכות להיות מוגדרות כבר ב־ACF. תוכל לשנות את העדפות התרגום לכל שדה בדיעבד, כך שסדר הפעולות אינו משנה. הגדר את קבוצות השדות, ולאחר מכן חזור ל־ACFML.
בחירת מצב תרגום לכל קבוצת שדות
לא כל קבוצות השדות של ACF מתנהגות באותו אופן בעת תרגום. ACFML מציע שלושה מצבים לכל קבוצת שדות, המוגדרים בתוך ACF > קבוצות שדות תחת הקטע הגדרת תוכן רב-לשוני:
אותם שדות בכל השפות
ההגדרה האופיינית לרוב אתרי ACF. תרגם את ערכי השדות לכל שפה בעוד שהמבנה נשאר זהה. העמוד הצוות שלנו הוא הדוגמה הקלאסית. הצוות שלך זהה בכל שפה, כך שהשם והביוגרפיה של כל חבר צוות מתורגמים לכל שפה, ואילו מבנה השדות נשאר על כנו. אתם מזינים את הצוות בשפת המקור, ולאחר מכן שולחים את הפוסט לתרגום דרך WPML > תרגומים > לוח בקרה; הערכים המתורגמים חוזרים כשהם מצורפים לאותם שדות.
שדות שונים בשפות שונות
השתמש במצב זה כאשר כל שפה מציגה תוכן שונה מיסודו באותה קבוצת שדות. המקרה הקלאסי הוא חברה שמנהלת אירועים מקומיים. עמוד האירועים באנגלית מציג אירועים לקהל דובר אנגלית, והעמוד בצרפתית מציג אירועים לקהל דובר צרפתית. הגדר את קבוצת השדות למצב שדות שונים בשפות שונות, ולאחר מכן פתח את הפוסט שברצונך לבצע עבורו לוקליזציה > בתיבת שפות בצד ימין, לחץ על סמל הפלוס עבור שפת היעד > טיוטה ריקה תיפתח עם שדות מותאמים אישית ריקים > מלא את הערכים הספציפיים לשפה ופרסם.
Expert Mode
השתמש במצב זה כאשר אתה זקוק לשילוב: חלק מהשדות מתורגמים לכל שפה, אחרים נשארים זהים, ואחרים מועתקים פעם אחת ולאחר מכן משתנים באופן עצמאי. בחר Expert Mode בהגדרת קבוצת השדות והגדר את ההעדפה לכל שדה בנפרד. דוגמת האירועים עם התנהגות מעורבת: כותרת ותיאור מוגדרים למצב תרגום; מחיר, תאריך וכתובת מוגדרים למצב העתקה.
העדפות תרגום לכל סוג שדה של ACF
לכל שדה בקבוצת שדות יש אחת מארבע העדפות תרגום:
- תרגום. ערך השדה מתורגם לכל שפה.
- העתקה. ערך השדה נשאר מסונכרן בכל השפות; ערוך אותו פעם אחת והוא יתעדכן בכולן.
- העתק פעם אחת. ערך השדה משמש כבסיס לתרגום, ולאחר מכן ניתן לערוך כל גרסת שפה באופן עצמאי.
- לא לתרגום. תהליך התרגום מתעלם מהשדה.
כאשר אתה בוחר באפשרות אותם שדות בכל השפות או שדות שונים בשפות שונות, כל שדה מקבל העדפת ברירת מחדל הגיונית המבוססת על סוג השדה שלו. הטבלאות להלן מציגות את ברירות המחדל הללו. השתמש ב־Expert Mode כדי לדרוס אותן לכל שדה בנפרד, או השתמש בפילטר acfml_field_group_mode_field_translation_preference כדי לדרוס את ברירת המחדל עבור סוג שדה בכל האתר (ראה הוקים למפתחים למקרי קצה להלן).
Repeater ו־Flexible Content – העתקה או העתק פעם אחת
עבור שדות מסוג Repeater ו־Flexible Content, עליכם לבחור בין שתי התנהגויות ברמת השורה לפני שהעדפות תת־השדות נכנסות לפעולה:
- העתקה. אותה פריסה ואותו מספר שורות בכל שפה. המתרגמים רואים את אותן שורות; תת־השדות מתורגמים לפי ההעדפות שלהם.
- העתק פעם אחת. לכל שפה יכולה להיות פריסה שונה ומספר שורות שונה לאחר ההעתקה הראשונית.
בחר באפשרות העתקה כאשר המבנה זהה בכל השפות (ברוב המקרים). בחר באפשרות העתק פעם אחת כאשר גרסאות השפה שונות מבחינה מבנית (לדוגמה, רשימת אירועים שונה לכל שפה).
שדות בסיסיים
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| טקסט | תרגום | תרגום |
| אזור טקסט | תרגום | תרגום |
| מספר | העתקה | העתק פעם אחת |
| טווח | העתקה | העתק פעם אחת |
| אימייל | העתקה | העתק פעם אחת |
| URL | העתקה | העתק פעם אחת |
| סיסמה | העתקה | העתק פעם אחת |
שדות תוכן
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| תמונה | העתקה | העתק פעם אחת |
| קובץ | העתקה | העתק פעם אחת |
| עורך Wysiwyg | תרגום | תרגום |
| oEmbed | העתקה | העתק פעם אחת |
| גלריה | העתקה | העתק פעם אחת |
שדות בחירה
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| בחירה | העתקה | העתק פעם אחת |
| תיבת סימון | העתקה | העתק פעם אחת |
| כפתור רדיו | העתקה | העתק פעם אחת |
| קבוצת כפתורים | העתקה | העתק פעם אחת |
| נכון / לא נכון | העתקה | העתק פעם אחת |
שדות jQuery
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| מפת Google | העתקה | העתק פעם אחת |
| בורר תאריכים | העתקה | העתק פעם אחת |
| בורר תאריך ושעה | העתקה | העתק פעם אחת |
| בורר שעות | העתקה | העתק פעם אחת |
| בורר צבעים | העתקה | העתק פעם אחת |
שדות פריסה
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| הודעה | תרגום | תרגום |
| אקורדיון | העתקה | העתק פעם אחת |
| לשונית | העתקה | העתק פעם אחת |
| קבוצה | העתקה | העתק פעם אחת |
| Repeater | העתקה | העתק פעם אחת |
| Flexible Content | העתקה | העתק פעם אחת |
| שיבוט | העתקה | העתק פעם אחת |
שדות קשר
| סוג | אותם שדות בכל השפות | שדות שונים בשפות שונות |
|---|---|---|
| קישור | העתקה | העתק פעם אחת |
| אובייקט פוסט | העתקה | העתק פעם אחת |
| קישור לעמוד | העתקה | העתק פעם אחת |
| קשר | העתקה | העתק פעם אחת |
| טקסונומיה | העתקה | העתק פעם אחת |
| משתמש | העתקה | העתק פעם אחת |
הגדרת העדפות לשדות שנרשמו ב־PHP או ב־JSON
קבוצות שדות של ACF שנרשמו ב־PHP (באמצעות acf_add_local_field_group()) או דרך התכונה Local JSON של ACF אינן מקבלות העדפות תרגום מממשק הניהול, מכיוון שממשק הניהול אינו מנהל אותן. הגדר את ההעדפות באותו מקום שבו אתה רושם את השדות.
עבור כל שדה בהגדרת קבוצת השדות, הוסף מפתח wpml_cf_preferences. הערך הוא מספר שלם הממופה לארבע העדפות התרגום: 0 עבור לא לתרגום (WPML מתעלם מהשדה), 1 עבור העתקה (הערך נשאר מסונכרן בכל השפות), 2 עבור תרגום (הערך עובר תרגום), ו־3 עבור העתק פעם אחת (הערך מועתק לתרגומים חדשים, ולאחר מכן ניתן לערוך כל שפה באופן עצמאי).
דוגמה מינימלית:
acf_add_local_field_group( [
'key' => 'group_1',
'title' => 'My Group',
'fields' => [
[
'key' => 'field_1',
'label' => 'Sub Title',
'name' => 'sub_title',
'type' => 'text',
'wpml_cf_preferences' => 2, // Translate.
],
],
// ...rest of the field-group config
] );
לאחר שתגדיר את השדות בקוד, סנכרן את ההעדפות לתוך WPML כדי שממשק הניהול יזהה אותן:
- עבור אל ACF > כלים.
- גלול אל Translate ACF Local JSON and PHP-Registered Fields.
- תחת Sync Translation Preferences for Local Fields, בחר באפשרות Sync once now ולחץ על החל.
WPML קורא את ההעדפות מהגדרות ה־PHP שלך ושומר אותן. הסנכרון פועל פעם אחת כאשר אתה מפעיל אותו, ולא בכל טעינת עמוד.
אם אתה משתמש בתכונה Local JSON של ACF כדי לשתף קבוצות שדות בין אתרים, ACFML כותב את העדפות התרגום לתוך קובצי ה־JSON באופן אוטומטי. ייצא קובץ JSON מאתר אחד, ייבא אותו לאתר אחר, ואתר היעד יקבל את ההעדפות ברגע ש־ACFML פעיל בשני הצדדים.
תרגום תוויות של שדות ACF
תוויות שדות של ACF הן השמות המזהים כל שדה מותאם אישית בעורך של WordPress ובחזית האתר (לדוגמה, מספר טלפון, כתובת). הן מתורגמות בנפרד מערכי השדות, ונמצאות תחת WPML תרגום מחרוזות, לא במשימת התרגום של הפוסט.
כדי לשלוח תוויות שדות לתרגום:
- פתח את WPML > תרגומים > לוח בקרה.
- הרחב את הקטע ACF Field Group.
- בחר בפריט Field Group Labels עבור קבוצת השדות שברצונך לתרגם.
- בחר שיטת תרגום (PTC, המתרגם שלך, או אתרגם בעצמי) ושלח.
התוויות המתורגמות מופיעות בחזית האתר באופן אוטומטי ברגע שהתרגום מושלם.
תרגום אפשרויות בחירה של שדות ACF
שדות בחירה (בחירה, תיבת סימון, כפתור רדיו, קבוצת כפתורים) נושאים תוויות אפשרויות משלהם (לדוגמה, קטן / בינוני / גדול). אלו נמצאות גם כן לצד תוויות השדות ולא בתוך תרגום הפוסט. שלח אותן באותה דרך:
- פתח את WPML > תרגומים > לוח בקרה.
- הרחב את הקטע ACF Field Group.
- בחר את קבוצת השדות שברצונך לתרגם את ערכי הבחירה שלה.
- בחר שיטת תרגום ושלח.
תרגום עמודי אפשרויות של ACF
עמודי אפשרויות של ACF (מסכי הגדרות גלובליים כמו פרטי קשר, הגדרות כותרת עליונה, קישורים בכותרת התחתונה) מתורגמים כסוג אובייקט בפני עצמם, בנפרד מפוסטים:
- פתח את WPML > תרגומים > לוח בקרה.
- הרחב את הקטע ACF Options.
- בחר את עמוד האפשרויות שברצונך לתרגם.
- בחר שיטת תרגום ושלח.
ערכי עמוד האפשרויות של כל שפה מופיעים באופן אוטומטי כאשר ACF קורא את האפשרות בהקשר של אותה שפה.
מלכודות נפוצות
- תוויות השדות נראות לא מתורגמות. הן נמצאות תחת תרגום מחרוזות, לא בתרגום הפוסט. שלח את הפריט Field Group Labels של קבוצת השדות מתוך לוח הבקרה (ראה תרגום תוויות של שדות ACF לעיל).
- ערכי הבחירה נראים לא מתורגמים. אותו עיקרון. שלח את קבוצת השדות מתוך הקטע ACF Field Group בלוח הבקרה כדי שערכי האפשרויות ייכללו.
- שורות ה־Repeater יוצאות מסנכרון. השדה כנראה מוגדר למצב העתק פעם אחת כאשר מצב העתקה היה שומר על השורות מיושרות. פתח את קבוצת השדות > שנה את התנהגות שדה ה־Repeater למצב העתקה.
- לוגיקה מותנית מתנהגת באופן בלתי צפוי. כאשר השדה השולט מוגדר למצב העתקה או לא לתרגום, ההתנהגות המותנית עוקבת אחר הערך של שפת המקור בכל התרגומים. הגדר את השדה השולט למצב תרגום אם הערך שלו אמור להיות שונה בכל שפה.
- שדות מקומיים (שנרשמו ב־PHP) מתעלמים מהעדפות תרגום שהוגדרו בממשק הניהול. הגדר את המפתח
wpml_cf_preferencesבהגדרת קבוצת השדות עצמה וסנכרן מתוך ACF > כלים. התהליך מתואר בסעיף הגדרת העדפות לשדות שנרשמו ב־PHP או ב־JSON לעיל. ACFML 2.2.0 (פברואר 2026) הוסיף תמיכה מלאה בשדות מקומיים; לגרסאות ישנות יותר היו מגבלות בנושא זה.
הוקים למפתחים למקרי קצה
לשליטה תכנותית (הוצאת שדות ספציפיים מתרגום, דריסת העדפת ברירת המחדל עבור סוג שדה בכל האתר, הסתרת הערות ממתרגמים, או החרגת מחרוזות של קבוצת השדות ממשימות תרגום של פוסטים), ACFML חושף שני פילטרים וארבעה קבועים. התיעוד המלא עם דוגמאות קוד נמצא במדריך ההוקים והקבועים של ACFML.
נכתב על ידי אמיר · עודכן לאחרונה ב־2 ביולי 2026
נכתב על ידי Amir · עודכן לאחרונה: 2 ביולי 2026