Docs Product page Dashboard
Docs Content Fields

Fields

v1.0.95

An ACF-style content-modelling toolkit — build field groups with a drag-and-drop editor, register custom post types and taxonomies, and set location rules so groups appear as meta boxes on matching posts. 37 field types, nested containers, a keyless Google Map, JSON import/export, template tags and Elementor dynamic tags — all from one WPStack panel.

Included in every plan Updated August 2026

Overview

The Fields module lets you build custom field groups and attach them to any content — a lightweight, built-in take on ACF.

Create a field group, add fields with a drag-and-drop builder, and set location rules that decide where it shows. Matching posts get a meta box, values save as ordinary post meta, and you read them back with template tags or Elementor dynamic tags.

Field Groups
Add field group
4
Field groups
31
Fields
3
Post types
4
Active
GroupLocationFieldsStatus
Property details
Post type: Property9 fieldsActive
SEO meta
Post type: Post, Page5 fieldsActive
Team member
Post type: Team7 fieldsActive
Landing sections
Page template: Landing10 fieldsActive
The Field Groups list — each group with its location summary, field count and status.

What you can do

  • Build field groups with a drag-and-drop field list
  • Choose from 37 field types across six groups
  • Nest fields in group, repeater, flexible content and clone containers
  • Target content with location rules — post type, template, status or page
  • Add a keyless Google Map field with address autocomplete
  • Read values with template tags or Elementor dynamic tags
Values are standard post metaEvery field saves to ordinary post meta, keyed by the field’s name — so your data stays portable and readable by any theme or query.

Requirements & compatibility

Fields runs on any modern WordPress host with no external service.

RequirementMinimumRecommended
WordPress6.06.5 or newer
PHP7.48.1 or newer
EditorClassic editorMeta boxes render on the classic editor
ElementorOptionalFor the Text & Image dynamic tags
Google Maps keyOptionalOnly for the interactive map mode
Classic editor meta boxesField meta boxes are targeted at the classic editor. Under the block editor a box may still appear in the advanced panel, but its widgets are designed for the classic editing screen.

Installation & activation

Fields ships inside WPStack — switch it on per site from the modules panel.

1

Open the WPStack modules panel

In your WordPress admin, go to WPStack → Modules and find Fields.

2

Activate Fields

Flip the Fields toggle to on. A new Fields item appears in the WPStack menu.

3

Add a field group

Open WPStack → Fields → Add field group, name it, and add fields.

4

Set location rules

Under Location, choose where the group shows — post type, page template, status or a specific page.

5

Edit a matching post

Open a post the rules match, fill the meta box, and save. Then read the values in your theme or Elementor.

The field builder

A field group is a drag-and-drop list of fields. Click a field to edit it in a popover, set its width, and drag the handle to reorder.

Property details
Field group builder — drag to reorder
Fields
HeadlineText100%
PriceNumber50%
BedroomsNumber50%
GalleryGallery100%
LocationGoogle Map100%
AmenitiesRepeater100%CONTAINER
BrochureFile100%
Text Add field
The field group builder — each field shows its type and width, with a Container badge on group / repeater / flexible-content / clone fields.

Editing a field

Click a field to open its editor popover — a floating panel that never resizes the tile or pushes the other fields. Set the Label, the Field Name (the post-meta key), the Type, Instructions, a Default value, a Placeholder, prepend / append text, whether it is Required, and the width.

The name is the meta keyA field’s name is the post-meta key its value is stored under, and each field key is globally unique across groups. Renaming a field’s name orphans any meta already saved under the old name.
Reorder & duplicateDrag the ⠿ handle to reorder fields, and duplicate a field to reuse its settings.

Field types

Thirty-seven field types, organised into six groups.

Choose a field type
37 field types in 6 groups
Basic · 7
TextTextareaNumberRangeEmailURLPassword
Content · 5
ImageFileWYSIWYGoEmbedGallery
Choice · 5
SelectCheckboxRadioButton GroupTrue / False
Relational · 6
LinkPost ObjectPage LinkRelationshipTaxonomyUser
Advanced · 6
Google MapDate PickerDate-Time PickerTime PickerColor PickerIcon Picker
Layout · 8
MessageAccordionTabGroupRepeaterFlexible ContentCloneDivider
The field-type picker — 37 types across Basic, Content, Choice, Relational, Advanced and Layout groups.
GroupTypes
Basictext · textarea · number · range · email · url · password
Contentimage · file · wysiwyg · oembed · gallery
Choiceselect · checkbox · radio · button group · true / false
Relationallink · post object · page link · relationship · taxonomy · user
Advancedgoogle map · date picker · date-time picker · time picker · color picker · icon picker
Layoutmessage · accordion · tab · group · repeater · flexible content · clone · divider
Display-only layout fieldsMessage, accordion, tab and divider shape the editing screen rather than storing a value — they organise the meta box without adding meta.

Nested containers

Four field types hold other fields, so you can model structured and repeatable content.

  • Group — bundle related fields; the value is an associative array
  • Repeater — unlimited repeatable rows; the value is an array of rows
  • Flexible Content — pick from named layout blocks per row
  • Clone — reuse a whole group, either seamlessly or nested under a name
Nest as deep as you needContainers can nest — a group inside a repeater, a repeater inside a flexible-content layout, and so on. Each level stores its sub-fields as structured data.
Clone display modesA seamless clone renders its fields inline under their own names; a group clone nests them under the clone’s name.

Location rules

Rules decide exactly where a field group appears.

Property details
Location rules
Show this field group if
Post Type is equal to Property
AND
Post Status is equal to Published
OR
Or
Page Template is equal to Landing
The location editor — conditions combined with AND inside a rule and OR across rules.
ParameterMatches on
post_typeThe post type being edited
post_templateThe selected page template
post_statusDraft, published, and so on
pageA specific page
AND within, OR acrossConditions in the same rule group must all match (AND); any matching rule group shows the field (OR).

Meta boxes on your posts

Every matching post gets the group as a meta box on the classic editor.

Edit Property
Meta box on the post edit screen
Property details
Headline
Sunlit two-bedroom near the park
Price
340,000
Bedrooms
2
Gallery
Location
Keyless embed
Shown on the classic editor for every matching post. Values save as post meta.
A field group rendered as a meta box while editing a post — values save as post meta.
  • One meta box per matching active group
  • Values save on save_post as post meta
  • Emptied fields are cleared; nested containers store structured arrays
  • Targeted at the classic editor editing screen

Google Map field

A map field that works with no API key — and can upgrade to interactive with your own.

Location
Keyless Google Map field
Google Map · Embed mode
Central Library, Main SquareAutocomplete
Central Library, Main Square
Central Market, Old Town
Central Park entrance
No API key required
The Google Map field in keyless embed mode — address autocomplete with no API key required.

Embed mode (default, keyless)

By default the field stores a location string and renders Google’s free embed map — no API key and no Google billing. Address autocomplete is powered by OpenStreetMap Nominatim.

Interactive mode (opt-in)

Add your own Google Maps key — via the SF_GOOGLE_MAPS_KEY constant, the sf_google_maps_api_key filter, or the field’s own key — to enable a draggable pin and Places, storing the address plus latitude, longitude and zoom.

Reading values (template tags)

Output field values in your theme with a small set of template tags.

phpin a template
// Print a value
sf_the_field( 'headline' );

// Return a value to work with
$price = sf_get_field( 'price' );

// All of a post's values
$all = sf_get_fields();
  • sf_get_field( $name, $post_id ) — return a single value
  • sf_the_field( $name, $post_id ) — print a single value
  • sf_get_fields( $post_id ) — return all of a post’s values
  • sf_update_field( $name, $value, $post_id ) — set a value
Formatted return valuesMedia, post-object, relationship, taxonomy and user fields come back formatted — an attachment, post objects, terms or users — for top-level and seamless-clone fields.

Elementor dynamic tags

Bind field values into Elementor designs with no code.

Fields registers two Elementor dynamic tags in the WPStack Fields group — a Text tag and an Image tag. Pick one from any widget’s dynamic-tag picker and choose the field to bind.

No shortcodes neededThe dynamic tags read straight from your field groups, so a headline or hero image flows into Elementor without a shortcode or a line of PHP.

Custom post types

Create and register real custom post types from a form — no code, no snippets plugin.

Add post type
Register a custom post type — no code
General
Post type key
property
Singular label
Property
Plural label
Properties
Options
Public
Show in REST (Gutenberg)
Has archive
Hierarchical
Supports
TitleEditorExcerptFeatured imageCustom fieldsAuthorCommentsRevisionsPage attributes
Admin menu & taxonomies
Menu icon
dashicons-admin-home
Position
25
Attach taxonomies
Property typeLocation
Create post type
The post type builder — key, labels, options, supports, menu icon and attached taxonomies.

Give the post type a key and a singular and plural label — every other label is generated for you. Choose its options, pick what it supports, set a menu icon and position, and attach taxonomies. The post type is registered on init and its rewrite rules are flushed automatically, so archives and single URLs work straight away.

Options

OptionWhat it controls
key / slugThe post type name and its URL base.
LabelsSingular and plural; all admin labels are auto-generated.
PublicWhether the type is visible on the front end and in admin.
HierarchicalPage-style parent/child structure instead of flat posts.
Has archiveEnables a post type archive at its slug.
Show in RESTExposes it to the REST API and the block (Gutenberg) editor.
Menu icon & positionA dashicon and where it sits in the admin menu.
Rewrite slugThe permalink base for single entries.

Supports

Toggle the core editor features the post type offers: title, editor, excerpt, featured image, custom fields, author, comments, revisions and page attributes.

Registered on init, rewrites auto-flushPost types register on the init hook, and rewrite rules are flushed automatically when you add or change one — so archives and single-entry URLs resolve immediately, with no manual permalink re-save.
Attach fields & taxonomiesAttach your custom taxonomies here, and target the post type from any field group’s location rules to add meta boxes to it.

Taxonomies

Register your own taxonomies and attach them to any post type — including the ones you build here.

Add taxonomy
Register a custom taxonomy — no code
General
Taxonomy key
property_type
Singular label
Property type
Plural label
Property types
Structure
Hierarchical (category-style)Flat (tag-style)
Attach to post types
PropertyPostTeam
Options
Public
Show in REST
Show admin column
Create taxonomy
The taxonomy builder — key, labels, structure, attached post types and options.

Create a taxonomy with a key and labels, choose whether it is hierarchical (category-style, with parent/child terms) or flat (tag-style), and attach it to one or more post types.

OptionWhat it controls
key / slugThe taxonomy name and its URL base.
LabelsSingular and plural names shown across the admin.
Attach toThe post types this taxonomy applies to — including custom ones.
HierarchicalCategory-style terms with parents, or flat tag-style terms.
PublicWhether terms are queryable on the front end.
Show in RESTExposes it to the REST API and the block editor.
Show admin columnAdds a column for the taxonomy on the post list table.
Rewrite slugThe permalink base for term archives.
Hierarchical or flatA hierarchical taxonomy behaves like categories — terms can have parents and show as checkboxes. A flat taxonomy behaves like tags — free-form terms entered in a line.
Pairs with custom post typesAttach a taxonomy to a post type you built in the Custom post types tab to organise its entries right away.

Import & export

Move a field group between sites with a portable JSON file, from the Tools tab.

Tools
Export & import field groups as JSON
Export field groups
Property details9 fields
SEO meta5 fields
Team member7 fields
Export JSON
Import a field group
Drop a .json file to import
Creates a new group with fresh field keys
property-details.jsonReady
The Tools tab — export selected field groups to JSON, or import a JSON file as a new group.

Export

From WPStack → Fields → Tools, export a field group to a JSON file — its fields, settings and location rules are all included. Keep it as a backup or move it to another site.

Import

Import a JSON file to recreate the group as a new field group with fresh field keys. Nothing existing is overwritten — the import always adds a new group.

1

Open the Tools tab

Go to WPStack → Fields → Tools.

2

Export a group

Pick one or more field groups and download the JSON file.

3

Import on another site

On the destination site, upload the JSON file under Tools.

4

A new group is created

The group is recreated with fresh field keys, leaving any existing groups untouched.

Fresh keys, nothing overwrittenImported groups get brand-new field keys and are added alongside your existing groups — an import never overwrites or merges into another group.

Field group settings

Each group carries a handful of settings alongside its fields.

SettingTypeDefaultWhat it does
TitletextThe group’s name, shown as the meta-box heading.
LocationrulesWhere the group appears — post type, template, status or page.
StyleselectDefaultHow the meta box is presented on the edit screen.
PositionselectNormalWhere the meta box sits relative to the content.
ActivetoggleOnInactive groups are kept but not rendered on any post.

FAQ

Yes — Fields is an ACF-style builder built into WPStack. You create field groups, set location rules, edit values in meta boxes, and read them with template tags or Elementor dynamic tags.

No. The Google Map field works keyless in embed mode with address autocomplete. An API key is only needed for the optional interactive, draggable-pin mode.

As ordinary post meta, keyed by each field’s name. Nested containers store structured arrays. Renaming a field’s name orphans meta saved under the old name.

Yes — group, repeater, flexible content and clone are containers you can nest as deep as your content needs.

Changelog

1.0.94
August 2026
newCustom post type builder — register real post types from a form: labels, options, supports, menu icon and attached taxonomies, with rewrite rules flushed on init.
newTaxonomy builder — register hierarchical or flat taxonomies and attach them to any post type.
newImport & export — export a field group to JSON and import it as a new group with fresh field keys.
1.0.0
August 2026
newDrag-and-drop field group builder with a floating popover field editor.
new37 field types across Basic, Content, Choice, Relational, Advanced and Layout groups.
newNested containers — group, repeater, flexible content and clone.
newLocation rules by post type, page template, status and specific page.
newKeyless Google Map field with address autocomplete, plus opt-in interactive mode.
newTemplate tags (sf_get_field, sf_the_field, sf_get_fields) and Elementor Text & Image dynamic tags.
Was this page helpful?