Support Log in
Features

All Features: Advanced Custom Fields, Rebuilt

Everything included in every Field Forge plan.

Updated June 2026

Field Forge is a complete WordPress custom fields plugin with 32 field types, a rebuilt architecture, AI schema generation, headless WordPress support, and full ACF compatibility. Below is every feature grouped by category, with links to dedicated pages where it makes sense. Every feature on this page is included in every paid plan — no tier gating.


Architecture

Custom table storage

Field values stored in a dedicated wp_fieldforge_values table with proper indexing on (post_id, field_name), (post_id, field_group_id), and (parent_id, row_index). Dramatically faster than wp_postmeta on sites with many posts or complex repeaters. Real-world benchmarks show 3–10x query time improvement on 10,000-post sites.

Full custom table storage feature →

Object cache integration

Every field read goes through WordPress’s object cache (Redis, Memcached, or default transient). Cache invalidation on update or delete. Separate cache group (fieldforge) so it doesn’t conflict with other plugins.

Full object cache feature →

Batch loading

The batch_load() API fetches field values for N posts in a single SQL query instead of N separate queries. Auto-preload hooks into WordPress’s the_posts filter so archive pages get batched field loading automatically. For agency sites with complex templates, this is a 10x performance improvement.

ACF compatibility layer

Full implementations of ACF’s template functions: get_field(), the_field(), get_fields(), get_field_object(), get_field_objects(), update_field(), delete_field(), have_rows(), the_row(), get_row(), get_row_index(), get_row_layout(), get_sub_field(), the_sub_field(), get_sub_field_object(). Plus acf_register_block_type() for PHP-rendered Gutenberg blocks.

Theme code written for ACF (or SCF, since SCF is a fork of ACF) keeps working after migration to Field Forge.

Full ACF compatibility layer →


Field types (all 32)

Basic

  • Textsingle-line text with optional max length, placeholder, and prepend/append
  • Textareamulti-line text with configurable rows
  • Numbernumeric input with min/max/step
  • Rangeslider with min/max/step
  • Emailemail input with validation
  • URLURL input with validation
  • Passwordmasked password input

Content

  • Imagemedia library picker with size options (thumbnail, medium, large, custom)
  • Filefile upload/picker for any file type with size and type restrictions
  • WYSIWYGTinyMCE rich text editor with media upload
  • oEmbedpaste any URL (YouTube, Vimeo, Twitter, etc.) for automatic embed
  • Gallerymulti-image selection with drag-drop reordering

Choice

  • Selectdropdown with single or multiple selection
  • Checkboxmultiple choices with optional toggle layout
  • Radiosingle choice with optional inline layout
  • True/Falseboolean toggle with custom labels
  • Button Groupvisual radio buttons

Relational

  • Relationshipmulti-select from any post type with filters and search
  • Post Objectsingle post selector with taxonomy filters
  • Page Linkselect any published page with hierarchy view
  • Taxonomyselect terms from any taxonomy
  • Userselect a user with role and capability filters

jQuery fields

  • Date Pickerdate selection with format configuration
  • Time Pickertime selection with 12/24 hour format
  • Color Pickercolor selection with alpha channel support

Layout

  • Tabgroup fields into tabbed interface in the post editor
  • Accordioncollapsible field group
  • Messageinformational text for editors (not a value field)

Pro compound

  • Repeaterrepeating row of sub-fields. Supports nested repeaters for complex data structures
  • Groupnested group of fields for logical organization
  • Flexible Contentchoose from multiple layouts per row (hero, feature, testimonial, etc.)
  • Clonereuse fields from another field group

Blocks

  • PHP Blocks — register Gutenberg blocks that render via PHP callback with access to custom fields

Calculation

  • Calculation (new, Pro) — read-only numeric field computed from a {price} * {qty}-style formula over sibling fields, or by summing a numeric sub-field across repeater rows (line-item totals). Number/currency/percentage formatting, safe non-eval() evaluation, and a live per-keystroke editor preview.

Full field type reference → · Calculation field →


Calculation and cross-post totals

Calculation field (Pro)

Compute a total on each post from a {field} formula over siblings, or by summing a numeric sub-field across every row of a repeater. Computed on save and on read in PHP (never eval()), with currency/percentage formatting and a live preview while editing.

Full calculation field →

Cross-post aggregation

Roll one numeric field up across many posts. Free: the [fieldforge_total field="donation" post_type="campaign" op="sum"] shortcode and the fieldforge_aggregate_field() PHP helper (single indexed SUM/AVG/MIN/MAX/COUNT, repeater double-count guard). Pro: the same aggregate over REST (/wp-json/fieldforge/v1/aggregate) and the fieldForgeAggregate GraphQL query for headless and reporting use.


Visual builder

Drag-and-drop field group editor

Modern three-panel layout: field type palette on the left, current field group in the middle, selected field settings on the right. Drag any field type into the group, edit its settings inline, drag to reorder.

Inline label editing

Double-click any field label in the editor to rename in place. No modal dialog, no settings panel trip.

Keyboard shortcuts

  • Cmd/Ctrl + S — save field group
  • Cmd/Ctrl + Shift + F — open add field modal
  • Esc — close modal or cancel action

Real-time preview

As you edit field settings, the preview updates. You see exactly what the field looks like in the post editor before saving.

Full visual builder feature →


Location rules

Field groups show on specific content based on flexible location rules:

  • Post typeshow only on posts, pages, or specific custom post types
  • Post templateshow based on the assigned page template
  • Post statuspublished, draft, private, etc.
  • Post formatstandard, aside, gallery, link, etc.
  • Post categoryspecific categories
  • Post taxonomyany custom taxonomy
  • Pagea specific page by ID
  • Page typefront page, blog page, parent, child, etc.
  • Page parentpages under a specific parent
  • Current userspecific user by ID
  • Current user roleadministrator, editor, author, etc.
  • Options pageshown on specific options pages

Rules combine with AND (within a group) and OR (between groups) for complex matching.


AI features

AI schema generation

Describe a field group in plain English and AI generates the complete structure. 12 built-in templates (hero, FAQ, testimonials, features, pricing, team, CTA, gallery, contact, product, SEO, quicklinks) plus AI fallback for custom descriptions. Keyword matching for fast results on common patterns.

Full AI schema generation feature →

AI field type suggestions

When you type a field label, Field Forge suggests the most appropriate field type based on the label. “Phone number” → tel field. “Feature image” → image field. “Launch date” → date picker.


Compound fields

Repeater

Dynamic row-based fields. Add any combination of sub-fields to a row. Users can add, remove, and reorder rows. Supports nested repeaters for complex data like “team members, each with multiple skills.”

Full repeater feature →

Flexible content

Multiple row layouts per field. Define “hero,” “features,” “testimonials,” and “CTA” layouts, each with their own sub-fields. Users pick which layout to use for each row. Powers modular landing page builders.

Full flexible content feature →

Group

Nested group of related fields under a single label. Useful for logically grouping related data without using a repeater.

Clone

Reuse an entire field group inside another. If your hero section is used on multiple page templates, define it once and clone it where needed.


Options pages

Register site-wide custom fields pages accessible via get_field('field_name', 'options'). Use cases: global site settings, theme options, company info that appears in multiple templates.

fieldforge_add_options_page([
    'page_title' => 'Site Settings',
    'menu_slug' => 'site-settings',
    'capability' => 'manage_options',
]);

Storage is separate from post fields (dedicated wp_fieldforge_options table). ACF-compatible via get_field('name', 'options') or get_field('name', 'option').

Full options pages feature →


Headless WordPress features

TypeScript generation

Auto-generates .d.ts type definitions for every field group. Every field type is mapped to a TypeScript type. Repeater fields become Array<SubFields>. Flexible content becomes Array<LayoutA | LayoutB>. Common types (WPImage, WPPost, WPUser, WPTerm) are built-in.

Download .d.ts files from the admin or commit them to your frontend repo for type safety in Next.js, Astro, Nuxt, etc.

Full TypeScript generation feature →

GraphQL SDL generation

Auto-generates GraphQL Schema Definition Language for every field group. Nested types for repeaters and groups. Union types for flexible content layouts.

WPGraphQL integration

If WPGraphQL is installed, Field Forge auto-registers types and resolvers on activation. Fields are queryable in GraphQL without any manual configuration.

Full GraphQL generation feature →

REST API

Field values exposed on the WordPress REST API. Dedicated Field Forge REST endpoints for reading and updating field group data. Perfect for headless frontends or external integrations.

Full REST API feature →


Developer tooling

Local JSON sync

Field groups can be auto-saved as JSON files in your theme’s fieldforge-json/ directory. Commit these to git for version control. Bidirectional sync: edit field groups in the UI and they update JSON files; edit JSON files directly and Field Forge imports the changes.

Full local JSON sync feature →

Schema versioning

Every field group change creates a revision in the wp_fieldforge_revisions table. Diff any two revisions (added fields, removed fields, property changes). Roll back to any previous version with one click. Auto-prune keeps max 50 revisions per group.

Full schema versioning feature →

Migration tools

One-click import from:

  • Advanced Custom Fields (ACF) — field groups and values
  • Secure Custom Fields (SCF) — same format as ACF

Beta/manual mapping targets:

  • Meta Boxcore post-meta values and builder metadata need source-specific verification
  • CMB2code-first definitions need manual review before conversion
  • Carbon Fieldscontainers, hooks, and fluent API definitions need a mapped migration pass

Batched value migration (50 posts per request) for large sites without PHP timeouts.

Full ACF import feature →

PHP blocks

Register Gutenberg blocks with PHP render callbacks using acf_register_block_type() (ACF compat) or fieldforge_register_block_type() (native). Full access to custom fields via get_field() in the callback.

Full PHP blocks feature →


Integration

  • Elementordynamic tags read Field Forge values natively
  • Gutenbergblock editor integration with field group metabox
  • WPGraphQLauto-registration on activation
  • WooCommerceproduct custom fields with variation support
  • ACF Pro code compatibilityvia ACF compatibility layer
  • Forge Suiteunified dashboard when multiple Forge plugins are active

Full integrations hub →


Ready to use every feature above?

Get Field Forge — from $40/year →

Every feature in every paid plan. No add-ons. No upsells. 14-day refund.

Basic

text, textarea, number, range, email, url, password

Content

image, file, wysiwyg, oembed, gallery

Choice

select, checkbox, radio, true/false, button group

Relational

relationship, post object, page link, taxonomy, user

jQuery

date picker, time picker, color picker

Layout

tab, accordion, message

Pro compound

repeater, group, flexible content, clone

Blocks

PHP-rendered Gutenberg blocks

Calculation & totals

Pro: formula fields, repeater line-item sums, and cross-post aggregation via shortcode, REST and GraphQL.

Every Feature. Every Plan.

No upsells, no gated add-ons. Field Forge includes everything starting at $40/yr.

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