Custom Field Groups
Custom field groups let you define structured data fields that appear in the episode editor and attach to specific content types. You create the group once in Benecaster → Fields, define your fields, and then fill in values per episode.
Overview
A field group is a named collection of fields attached to a content type — by default, Episode. Once created, the group appears as a collapsible panel in the More tab of the episode editor for every episode.
Common uses:
- Guest information (name, booking URL, bio)
- Sponsor details (name, URL, offer code)
- Production notes (recording location, engineer, date)
- Episode-specific links (show notes links, resource URLs)
Creating a Field Group
- Go to Benecaster → Fields in the WordPress admin sidebar.
- Click Add Field Group.
- Enter a name for the group (e.g. “Interview Info”).
- Set Attached to to “Episode” (or another content type if you have add-ons that register additional types).
- Add fields: give each field a label, choose a type, and mark it required if needed.
- Drag fields to reorder them.
- Click Save.
The group appears immediately in the More tab of all episodes.
Field Types
| Type | Use for |
|---|---|
| Text | Single-line text — names, codes, short labels |
| Textarea | Multi-line text — bios, descriptions, notes |
| URL | A web address — renders as a link on the episode page |
| Number | Numeric values — episode number, word count, price |
| Date | A date picker — recording date, air date |
| Select | A dropdown with predefined options |
| Checkbox | A set of checkboxes — multiple-select from predefined options |
Select and checkbox fields include an Options section where you define the choices.
Required fields are marked with an asterisk (*) in the episode editor. Saving an episode with an empty required field is allowed — the asterisk indicates importance, not a hard block. Use required fields to signal to your team which fields matter most.
Filling in Values
Open any episode and click the More tab. Each field group you’ve created appears as a labelled, collapsible panel. Fill in values and click Save Episode (or Update) — field values save with the rest of the episode data in the same action.
You can fill in field values on new episodes before the first save. The fields are available immediately when you open a new episode draft — you don’t need to save the episode first to unlock them.
Field groups appear in the order set by their display order (drag to reorder in the group editor). Fields within each group appear in the order defined in that group.
Multiple Field Groups
You can create as many field groups as you need. Each group appears as a separate panel in the More tab. Groups can be reordered by adjusting the display order in Benecaster → Fields.
For Developers
Read field values in PHP:
// All values for a group, keyed by field_key:
$fields = benecaster_get_fields( 'Interview Info', $episode_id );
$guest_name = $fields['guest_name'] ?? null;
// A single field value by ID:
$guest_name = benecaster_get_field( 15, $episode_id );
Hooks:
benecaster_field_groupsfilter — modify or inject field group definitions before the editor renders thembenecaster_field_valuefilter — transform a stored value before it is returnedbenecaster_field_value_savedaction — fires after a value is written; use to sync to external systems
Register a CPT with the field system (add-ons):
add_action( 'benecaster_boot', function( $container ) {
benecaster_register_field_cpt( 'benecaster_guest', __( 'Guest', 'my-addon' ) );
} );
See the developer documentation for full API details: benecaster_get_field, benecaster_get_fields, [benecaster_field_groups](/docs/benecaster_field_groups/), [benecaster_field_value](/docs/benecaster_field_value/), [benecaster_field_value_saved](/docs/benecaster_field_value_saved/).