Group Fields — Organizing Related Data (PRO) | Field Forge - Custom Fields, Built for Speed
Download Log in

Group Fields — Organizing Related Data (PRO)

User Guide

A Group field bundles several related fields together into a single, organized unit. While a Repeater lets editors add multiple rows of data, a Group always contains exactly one set of sub-fields. It is the right choice when you have fields that naturally belong together and only appear once — like an address block, a call-to-action section, or a contact information card.

Groups serve two purposes. First, they organize the editing experience by visually grouping related fields inside a bordered container. Second, they organize your data structure — grouped fields are stored together, making it cleaner for your developer to work with in theme templates.

When to Use a Group vs. Separate Fields

You might wonder why you need Groups at all. After all, you could just add Street, City, State, and ZIP as four separate fields in your field group. Here is why Groups are better:

Without a GroupWith a Group
Street, City, State, ZIP appear as four separate fields mixed in with other fieldsStreet, City, State, ZIP appear inside a bordered “Address” container, visually distinct from other fields
Your developer references each field individually: get_field('street'), get_field('city')Your developer references the group: get_field('address') and gets all four values as a structured array
If you have an address AND a billing address, field names get confusing: street, billing_streetClean nesting: address.street and billing_address.street
Adding a new address-related field means finding the right spot among all the fieldsAdding a new field inside the Address group keeps everything together

Step-by-Step: Building a Contact Information Group

The scenario: You run a multi-location business. Each location is a custom post type, and every location needs contact information: phone number, email address, office hours, and a Google Maps embed URL. These four pieces of data logically belong together as “Contact Info.”
  1. Go to Field Forge > New Field Group
  2. Enter the title: Location Details
  3. Click Add Field and choose Group from the field type grid (under “Compound Fields,” PRO badge)
  4. Configure the Group:
Label: Contact Information

Name: contact_information

Instructions: Enter the contact details for this location. All fields are displayed in the location’s sidebar and footer.

Layout: Block (shows the group as a bordered card with sub-fields inside)

  1. Add sub-fields inside the Group:
– Click Add Sub Field, choose Text:

– Label: Phone Number

– Name: phone_number

– Required: Yes

– Placeholder: “(555) 123-4567”

– Wrapper Width: 50%

– Click Add Sub Field, choose Email:

– Label: Email Address

– Name: email_address

– Required: Yes

– Placeholder: “[email protected]

– Wrapper Width: 50%

– Click Add Sub Field, choose Textarea:

– Label: Office Hours

– Name: office_hours

– Instructions: Enter hours in a readable format, e.g., “Mon-Fri: 9am-5pm, Sat: 10am-2pm, Sun: Closed”

– Rows: 3

– Wrapper Width: 100%

– Click Add Sub Field, choose URL:

– Label: Google Maps Link

– Name: google_maps_link

– Instructions: Paste the Google Maps URL for this location. Go to Google Maps, find the location, click Share, and copy the link.

– Wrapper Width: 100%

  1. Now add a second Group field in the same field group for the address:
– Click Add Field (back at the top level, not inside the Contact group), choose Group

– Label: Physical Address

– Name: physical_address

– Add sub-fields: Street Address (text, 100%), City (text, 40%), State (select, 30%), ZIP Code (text, 30%)

  1. Set the location rule: Post Type is equal to Location
  2. Click Save Field Group

[Screenshot: the Location Details field group editor showing two Group fields — “Contact Information” with phone, email, hours, and maps link sub-fields, and “Physical Address” with street, city, state, and ZIP sub-fields arranged in a multi-column layout]

How Editors Use a Group

When a content manager opens a Location post, they see the “Location Details” metabox containing two bordered sections: “Contact Information” and “Physical Address.” Each section is clearly labeled and contains its own set of fields. The editor fills in each field just like any other field — there is no “Add Row” button because a Group always contains exactly one set of data.

The key difference from regular fields is visual: the bordered container makes it immediately clear which fields relate to contact info and which relate to the address. Without Groups, all eight fields would appear as a flat list, and it would not be obvious that Phone and Email belong together while Street and City belong together.

Groups vs. Repeaters — A Decision Guide

This is the most common question from people setting up field groups. Here is a clear decision framework:

Ask YourselfIf the Answer Is…Use
How many sets of this data will there be?Always exactly one (one address, one CTA)Group
How many sets of this data will there be?It varies — could be 1, 5, or 50 (team members, FAQs)Repeater
Can editors add more of these?No — there is always one contact info block per locationGroup
Can editors add more of these?Yes — they can add more team members as the company growsRepeater
Does this data represent a “section” or a “list”?A section (one Hero, one CTA)Group
Does this data represent a “section” or a “list”?A list (many FAQs, many testimonials)Repeater

Nesting Groups and Repeaters Together

Groups and Repeaters work beautifully together. Here are two common patterns:

Pattern 1: A Repeater where each row contains a Group

A “Services” page where each service has its own pricing block:

  • Services (Repeater — multiple services)
– Service Name (text)

– Service Description (textarea)

Pricing (Group — one pricing block per service)

– Monthly Price (number)

– Annual Price (number)

– Currency (select)

– Includes Free Trial (true/false)

Pattern 2: A Group that contains a Repeater

A “Company Overview” section with a fixed header and a variable list of achievements:

  • Company Overview (Group — one overview per page)
– Headline (text)

– Description (wysiwyg)

– Background Image (image)

Key Achievements (Repeater — multiple achievements)

– Year (text)

– Achievement Title (text)

– Description (textarea)

Wrapper Width Tips for Groups

Use wrapper widths on sub-fields within a Group to create polished, form-like layouts:

Layout GoalSub-field Widths
Two fields side by side50% + 50%
Three fields in a row33% + 33% + 34%
One large, one small70% + 30%
Full width below a row of small fieldsFirst row: 33% + 33% + 34%, next field: 100%
Example: For the Physical Address group, setting City to 40%, State to 30%, and ZIP to 30% puts all three on one row, which feels natural — just like filling out a real mailing address form.

> What happens without PRO: Group fields require the PRO plan. Without them, you add related fields as separate top-level fields in the field group. They still work functionally, but you lose the visual grouping (the bordered container) and the structured data organization. For simple cases with 2-3 related fields, this is fine. For complex data models with multiple groups of related fields, Groups make the editing experience significantly cleaner.

> Tip: Name your Groups clearly. Instead of “Group 1” or “Details,” use specific names like “Contact Information,” “Physical Address,” or “Call to Action Settings.” The Group label appears as a section header in the editor, and clear names help editors immediately understand what each section is for.

> Common mistake: Using a Group when a Repeater is needed (or vice versa). If you create a Group for “Team Members” but then realize each page needs multiple team members, you will have to delete the Group and recreate it as a Repeater. Think about whether the data repeats before choosing.

Forge AI Assistant Online

Hi! I'm the Field Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs