חיפוש ]

מדריך מקיף לשדה מסוג Clone ב ACF

התוסף שדות מיוחדים (כלומר Advanced Custom Fields) הוא אחד התוספים החזקים ביותר ליצירת שדות מותאמים (Custom Fields) ולהרחבת היכולות של וורדפרס. לתוסף קיים פיצ׳ר קצת פחות מוכר אך מאד שימושי בשם Clone Field.

שדה מסוג Clone קיים רק בגרסת PRO של Advanced Custom Fields.

שדה מסוג Clone מאפשר לכם לשכפל שדות (או קבוצת שדות) ובכך מאפשר דרך פלקסבילית להשתמש בשדות קיימים ללא הצורך להגדיר אלו מחדש.

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

מה זה ACF Clone Field?

השדה Clone ב ACF מאפשר לכם לבצע שימוש חוזר בקבוצת שדות או שדות קיימים בקוֹנְטֶקְסְט חדש. זאת אומרת שבמקום ליצור מחדש שדות זהים כלשהם בקבוצת שדות אחרת, תוכלו פשוט ״לשכפל״ את אותם שדות ובכך לשמור על קונסיסטנטיות ולגרום לתהליך ניהול השדות יעיל יותר.

שדה מסוג Clone תומך בשני מצבי תצוגה:

  • קבוצה (Group): משכפל את השדות הנבחרים ומציג אותם כמאגד מקונן בתוך קבוצת השדות הראשית. ניתן להציג גם את תווית הקבוצה להבחנה ויזואלית ברורה.
  • רָצִיף (Seamless): משכפל את השדות ומשלב אותם ישירות בתוך קבוצת השדות הראשית ללא קיבוץ ויזואלי – כאילו הוגדרו שם מלכתחילה.

יתרונות השימוש ב Clone Field

לשימוש בשדה מסוג Clone מספר יתרונות:

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

כיצד להגדיר שדה Clone

כדי להגדיר שדה Clone ב-ACF, בצעו את השלבים הבאים:

1. צור או ערוך קבוצת שדות

גשו לACF > קבוצות שדות בלוח הבקרה של וורדפרס ולחצו על הוסף שדה.

הוספת קבוצת שדות ב ACF
הוסיפו כותרת לקבוצת השדות.

2. הוסיפו שדה Clone

בחרו את שדה Clone מתפריט הסוגים של השדות.

בחירת שדה מסוג Clone
תנו לשדה ה-Clone שם תיאורי.

3. בחרו מה לשכפל

בהגדרות שדה ה-Clone, תוכלו לבחור שדות בודדים או קבוצות שדות שלמות לשכפול.

בחרו שדות לשכפול

4. בחרו הצגת Clone

בחרו כיצד יוצגו השדות המשוכפלים (Group, Seamless או Group with Label).

הגדרות תצוגה של שדה מסוג Clone

5. שמרו את קבוצת השדות

לאחר ששדה ה-Clone מוגדר, שמרו את השינויים.

דוגמה: שכפול קבוצת שדות

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

  • גשו לשדות מותאמים אישית > קבוצות שדות.
  • לחצו על הוסף קבוצת שדות חדשה וצרו קבוצת שדות חדשה עבור סוג פוסט אחר.
  • בתוך קבוצת השדות החדשה, הוסיפו שדה Clone ובחרו את קבוצת "פרטי קשר" לשכפול.
  • בחרו באפשרות התצוגה (לדוגמה, תצוגה חלקה) כדי לוודא שהיא משתלבת בפריסת קבוצת השדות החדשה.

הצגת המידע של שדה Clone בתבנית עמוד (ב Frontend)

לאחר שהגדרתם את שדה ה-Clone, הצגת הנתונים בפרונטנד היא פשוטה. מכיוון שהשדות המשוכפלים פועלים כשדות ACF רגילים, ניתן להשתמש באותם תגיות תבנית של ACF להצגת הנתונים.

דוגמת קוד להצגת נתוני שדה Clone

<?php
$phone = get_field('phone_number');
if ($phone) {
    echo 'Phone: ' . esc_html($phone);
}

$email = get_field('email_address');
if ($email) {
    echo 'Email: ' . esc_html($email);
}
?>

מכיוון ששדות משוכפלים מתנהגים כשדות ACF רגילים, ניתן לשלוף אותם באמצעות get_field() עם שם השדה המקורי. אם אתם מעדיפים להימנע מתלות ב-ACF בצד הלקוח, ניתן להשתמש גם ב-get_post_meta() – ראו שימוש ב-ACF ללא תלות בצד הלקוח.

מקרי שימוש לשדות Clone של ACF

שדה ה-Clone של ACF שימושי במגוון תרחישים:

  • בלוקים של נתונים לשימוש חוזר: שכפלו קבוצות שדות כמו "פרטי קשר" או "קישורים לרשתות חברתיות" כדי להבטיח עקביות בין סוגי פוסטים שונים.
  • אלמנטים חוזרים: אם יש לכם אלמנטים חוזרים, כמו שאלות נפוצות (FAQs) או ביוגרפיות של חברי צוות, תוכלו לשכפל את השדות וליישם אותם בחלקים שונים באתר שלכם.
  • פריסות Flexible Content: פרקו שדה Flexible Content או Repeater גדול לקבוצות שדות קטנות וממוקדות, ושכפלו אותן לפי הצורך. כך עורך ה-ACF נשאר מהיר גם בעמודים מורכבים.
  • הגדרות תבנית או הגדרות אתר: השתמשו בשדה Clone בהגדרות תבנית או פאנלים של הגדרות כלליות כדי להבטיח שימוש עקבי בשדות בכל האתר.

אפשרויות מתקדמות לשדות Clone

שדה ה-Clone מגיע עם מספר אפשרויות מתקדמות להתאמת ההתנהגות שלו לצרכים שלכם:

  • קידומת לשמות שדות: אופציה המאפשרת להוסיף קידומת לשדות המשוכפלים, כדי למנוע התנגשויות (Conflicts) במקרים בהם יש לכם שדות דומים במקומות אחרים.
  • תצוגה חלקה: אפשרות זו מסתירה את הקיבוץ של השדות המשוכפלים ומשלבת אותם ישירות בקבוצה הראשית למראה נקי ואחיד יותר.
אפשרויות מתקדמות של שדה Clone

א. קידומת לשמות שדות – Prefix Field Names

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

מדוע להשתמש בקידומת לשמות שדות?

בעת שכפול שדות או קבוצות שדות שלמות, שמות השדות המקוריים נשמרים כברירת מחדל. אם תשכפלו קבוצת שדות המכילה שדות עם אותם שמות כמו שדות בקבוצה הראשית (או בקבוצות משוכפלות אחרות), זה עלול להוביל להתנגשויות נתונים או להחלפות. על ידי הוספת קידומת, אתם יוצרים מזהה ייחודי לכל שדה משוכפל ומונעים התנגשויות.

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

נניח שיש לכם קבוצת שדות בשם "פרטי קשר" עם שדות כמו "phone_number" ו-"email_address". אם תשכפלו את הקבוצה הזו בתוך קבוצת שדות אחרת, תוכלו להוסיף קידומת כמו "company_". שמות השדות יהפכו ל-"company_phone_number" ו-"company_email_address".

כך ייראה הקוד בעת שליפת השדות עם קידומת:

<?php
// שליפת מספר טלפון מהקבוצה המשוכפלת עם קידומת
$phone = get_field('company_phone_number');
if ($phone) {
    echo 'טלפון: ' . esc_html($phone);
}

// שליפת כתובת אימייל מהקבוצה המשוכפלת עם קידומת
$email = get_field('company_email_address');
if ($email) {
    echo 'אימייל: ' . esc_html($email);
}
?>

ב. תצוגה חלקה – Seamless Display

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

מדוע להשתמש בתצוגה חלקה?

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

הדבר יוצר חוויית משתמש נוחה יותר בלוח הבקרה של וורדפרס ומאפשר לשדות להשתלב זה בזה, במיוחד כאשר אתם משתמשים באותם שדות באזורים שונים באתר.

דוגמה לתצוגה חלקה

נניח שיש לכם קבוצת שדות "פרטי מוצר" המכילה שדות כמו "product_name" ו-"product_price". יש לכם גם קבוצת שדות נפרדת עבור "מידע על ספק".

על ידי שכפול קבוצת "מידע על ספק" עם אפשרות התצוגה החלקה, השדות מקבוצת הספק (כגון "supplier_name", "supplier_phone") יופיעו ישירות בתוך השדות של המוצר, ללא הפרדה ויזואלית.

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

טיפים לעבודה עם שדות Clone

להלן כמה טיפים שיעזרו לכם לעבוד בצורה יעילה יותר עם שדות Clone של ACF:

  • היזהרו מקונפליקטים בשמות השדות: בעת שכפול שדות, ודאו ששמותיהם לא מתנגשים עם שדות אחרים בקבוצת השדות הראשית. השתמשו באפשרות "קידומת לשמות שדות" כדי למנוע בעיות פוטנציאליות.
  • שכפול שדות מורכבים: אם אתם משכפלים שדות תוכן גמיש או חוזרים, ודאו שהמבנה וההיררכיה שלהם מובנים היטב, שכן פריסתם עשויה להשפיע על האופן שבו הם מוצגים ב Frontend.
  • ארגנו את קבוצות השדות שלך: כדי לנצל את שדות ה-Clone בצורה מיטבית, שמרו את קבוצות השדות מאורגנות ומסומנות כהלכה לזיהוי ושכפול מהיר.

שאלות נפוצות

שאלות נפוצות על שדה ה-Clone של ACF:

האם שדה Clone משכפל נתונים במסד הנתונים?
לא. שדה ה-Clone לא יוצר עותקים נפרדים של נתונים. הוא טוען את השדות הנבחרים בזמן ריצה ושומר ערכים תחת שמות השדות המקוריים (או עם קידומת). אין שכפול של שורות meta במסד הנתונים.
האם ניתן לשכפל קבוצת שדות בתוך Repeater או Flexible Content?
כן. שכפול בתוך פריסת Repeater או Flexible Content הוא אחד ממקרי השימוש הנפוצים ביותר. הגדירו את התצוגה ל-Seamless כדי שהשדות המשוכפלים יופיעו בשורה אחת עם שאר הפריסה ולא בתוך קבוצה מקוננת נפרדת.
מה קורה אם משנים את קבוצת השדות המקורית שמשוכפלת?
כל שינוי שתבצעו בקבוצת השדות המקורית ישתקף אוטומטית בכל מקום בו היא משוכפלת. זהו היתרון המרכזי - אתם מתחזקים מקור אמת יחיד וכל מיקום ששוכפל נשאר מסונכרן.
מתי להשתמש ב-Seamless ומתי ב-Group?
השתמשו ב-Seamless כאשר השדות המשוכפלים צריכים להרגיש כחלק מקבוצת השדות הראשית (נפוץ בתוך פריסות Flexible Content). השתמשו ב-Group כאשר אתם רוצים הפרדה ויזואלית ברורה בעורך האדמין, או כשאתם צריכים מערך עוטף בנתונים המוחזרים.
כיצד לשלוף ערכי שדה Clone באמצעות get_post_meta?
ערכי שדות משוכפלים נשמרים תחת שם השדה (או עם קידומת). ניתן לשלוף אותם באמצעות get_post_meta(get_the_ID(), 'field_name', true) בדיוק כמו כל שדה מותאם אחר. לפרטים נוספים, ראו את המדריך על שימוש ב-ACF ללא תלות בצד הלקוח.

סיכום

שדה ה-Clone של ACF מאפשר לכם לעשות שימוש חוזר בשדות וקבוצות שדות ברחבי אתר הוורדפרס שלכם ללא שכפול ההגדרות. הוא מרכז את ניהול השדות – כל שינוי בקבוצת המקור משתקף בכל מיקום ששוכפל.

השתמשו בתצוגת Seamless כששוכפלים בתוך פריסות Flexible Content או Repeater, ובתצוגת Group כשצריך גבול ויזואלי ברור. הוסיפו קידומת כדי למנוע התנגשויות בשמות שדות כאשר אותה קבוצה משוכפלת יותר מפעם אחת.

קריאה נוספת בתיעוד שדה Clone של ACF.

דיון ותגובות
0 תגובות  ]

השאירו תגובה

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

Savvy WordPress Development official logo