שדה מסוג Group ב-ACF מאפשר לארגן מספר שדות משנה (sub-fields) תחת הורה אחד, דבר המסייע לשמור על סביבת ניהול מסודרת והגיונית יותר. זהו פתרון אידיאלי לקיבוץ שדות הקשורים זה לזה, במיוחד כשעובדים עם תבניות מורכבות או layouts מותאמים אישית.
בשונה משדה Repeater, שדה Group אינו מאפשר יצירת מספר שורות – הוא מייצג סט בודד של שדות-משנה מקובצים.
בפוסט זה תלמדו מהו שדה Group, מתי ולמה להשתמש בו, איך להציג את הנתונים בתבנית שלכם וטיפים לבניית שדות בצורה מסודרת.
מה זה שדה Group ב-ACF?
שדה Group הוא קונטיינר המכיל מספר שדות-משנה (כגון טקסט, תמונה, select ועוד) תחת הורה יחיד. שימוש בשדה זה מאפשר לשמור על סדר בשדות ולמנוע עומס, במיוחד כאשר משייכים שדות רבים לפוסט, עמוד או Custom Post Type כלשהו.
- שדות מסוג Group אינם ניתנים לחזרה (לא ניתן להוסיף שורות נוספות)
- ניתן להכניס כל סוג שדה של ACF בתוך Group
- הערך המוחזר הוא מערך אסוציאטיבי מקונן (nested array)
מתי כדאי להשתמש בשדה Group?
השתמשו בשדה Group כאשר רוצים לאגד נתונים קשורים יחד. הנה כמה דוגמאות:
- פרטי יצירת קשר (טלפון, אימייל, כתובת)
- הגדרות Hero section (כותרת, תמונה, קריאה לפעולה)
- נתוני כרטיס כלשהו (אייקון, כותרת, תיאור)
קיבוץ שדות משפר גם את חוויית העריכה בממשק הניהול וגם את הקריאות של הגישה לנתונים בתבנית.
איך מוסיפים שדה Group ב-ACF
- גשו ל-Custom Fields › Field Groups וערכו או צרו קבוצה חדשה
- הוסיפו שדה חדש ובחרו Group כסוג השדה
- בתוך ה-Group הוסיפו את שדות המשנה
- שמרו את קבוצת השדות ושייכו אותה לסוג פוסט או עמוד
הצגת נתונים של Group בתבנית שלכם
שדה Group מחזיר מערך. כדי להוציא שדה-משנה, יש תחילה לשלוף את ה-Group ואז לשלוף ממנו ערכים. הנה דוגמה עם שדה בשם hero_section
שמכיל כותרת, כותרת משנה ותמונת רקע:
<?php
$hero = get_field('hero_section');
if ( $hero ) :
$title = $hero['title'];
$subtitle = $hero['subtitle'];
$image = $hero['background_image'];
?>
<section class="hero" style="background-image: url('<?php echo esc_url($image['url']); ?>');">
<h1><?php echo esc_html($title); ?></h1>
<p><?php echo esc_html($subtitle); ?></p>
</section>
<?php endif; ?>
שיטה זו עוזרת לשמור על קוד נקי ויעיל, במיוחד כאשר עובדים עם אזורים מרוכזים של UI.
טיפ: התוסף Advanced Custom Fields: Theme Code Pro עוזר לעבוד מהר יותר ע"י יצירת קוד PHP מוכן לכל שדה ACF.
שימוש ב-Group בתוך Repeater
אפשר לשלב שדה Group בתוך שדה Repeater כדי לבנות מבני נתונים מורכבים יותר. לדוגמה, אם לכל חבר צוות יש שם, תפקיד ופרטי קשר:
<?php
if ( have_rows('team_members') ): ?>
<ul>
<?php while ( have_rows('team_members') ): the_row();
$person = get_sub_field('person_info');
$name = $person['name'];
$role = $person['role'];
$email = $person['email'];
?>
<li>
<strong><?php echo esc_html($name); ?></strong> – <?php echo esc_html($role); ?> (
<a href="mailto:<?php echo esc_attr($email); ?>"><?php echo esc_html($email); ?></a>)
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
כך תוכלו לשמור על סדר במידע ולהימנע משכפול שדות מיותר.
Group לעומת Repeater לעומת Flexible Content
ACF מציע מספר סוגי שדות לארגון מידע, כל אחד מהם מתאים לשימוש אחר. הבנה של ההבדלים תעזור לבחור את הפתרון הנכון לכל מבנה נתונים.
- Group: סט בודד ומסודר של שדות קשורים.
שימושי לדברים כמוhero_section
עם כותרת, כותרת משנה ותמונה. - Repeater: סט שניתן לשכפל של אותם שדות.
מעולה לרשימות דינמיות כמו חברי צוות, שאלות נפוצות או שירותים. - Flexible Content: אפשרויות לייאאוט שונות עם מבני שדות משתנים.
מצוין לבניית בלוקים מותאמים כמו תמונה + טקסט, גלריות או CTA.
השתמשו ב-Group כשצריך סט בודד ומובנה. השתמשו ב-Repeater כשצריך רשימה. השתמשו ב-Flexible Content כשהמבנה עצמו משתנה.
טיפים לממשק הניהול
שמירה על סדר בשדות בממשק הניהול של וורדפרס משפר את חוויית העריכה ומפחית בלבול. שדות Group עוזרים במיוחד לשפר את ה-UI של עורך התוכן:
- תנו לכל שדה-משנה שם ברור ומדויק: הימנעו משמות כלליים כמו "טקסט" או "תמונה". במקום, השתמשו ב"הכותרת הראשית של Hero" או "תמונת חבר צוות" כך שהמשמעות תהיה ברורה.
- השתמשו ב-Layout מסוג "Block": בשדה Group, הגדירו Layout כ-
Block
כדי שכל השדות יופיעו בתוך תיבה ויזואלית עם ריפוד. זה עוזר לעורך לראות שהשדות שייכים יחד. - כווצו קבוצות ארוכות או מתקדמות: השתמשו ב-Instructions Placement ו-Wrapper Attributes כדי ליצור קבוצות שניתן לכווץ או להפריד ויזואלית בין שדות. מאוד שימושי כשיש הרבה קבוצות בעמוד.
חשבו כמו עורך תוכן: סדרו שדות לא רק לפי ההיגיון בקוד, אלא לפי נוחות ובהירות בממשק הניהול.
סיכום
שדה Group של ACF הוא כלי חזק לארגון מידע קשור לתוך מערך מסודר. בין אם אתם משתמשים בו לארגון אזורים של UI, מבני מידע חוזרים או ניהול קל יותר של שדות – זה משפר גם את השליטה למפתחים וגם את חוויית העורך.
רוצים לראות עוד דוגמאות דינמיות של ACF? בדקו את המדריכים שלנו הקשורים ל-ACF.