32 WordPress Field Types — Field Forge Custom Fields Reference
Download Log in

32 Field Types for Every WordPress Use Case

Field Forge ships with 32 field types organized into seven categories. Most types — including every relational field, the basic and choice fields, and oEmbed — are available in the free version; the compound types (Repeater, Group, Flexible Content, Clone), Gallery, and PHP Blocks are Pro. Below is the complete reference with usage notes, configuration options, and ACF compatibility notes for developers migrating from Advanced Custom Fields.


Basic fields

Text

Single-line text input. Optional max length, placeholder, prepend/append (for prefixes like “$” or suffixes like “/month”), and default value.

ACF equivalent: text
Returns: string

Textarea

Multi-line text input with configurable row count. Optional max length and placeholder. Returns plain text (no HTML formatting).

ACF equivalent: textarea
Returns: string

Number

Numeric input with min, max, and step values. Optional prepend/append for units. Validates as number on save.

ACF equivalent: number
Returns: number

Range

Slider input with min, max, and step. Visual alternative to Number for bounded values. Great for ratings, opacity, and percentage-like fields.

ACF equivalent: range
Returns: number

Email

Email input with client and server-side validation. Useful for contact fields and user records.

ACF equivalent: email
Returns: string

URL

URL input with validation. Supports relative and absolute URLs. Optional protocol requirement.

ACF equivalent: url
Returns: string

Password

Masked password input. Values are stored encrypted (not plain text). Use for API keys, secret tokens, or any sensitive string.

ACF equivalent: password
Returns: string (decrypted on read by authorized users)


Content fields

Image

Media library picker with preview. Returns image metadata (ID, URL, alt, sizes). Configurable return format: Image Array, Image URL, or Image ID.

ACF equivalent: image
Returns: array / string / integer depending on return format

File

File upload/picker for any file type. Configurable allowed types (PDF, DOC, ZIP, etc.) and max size. Returns file metadata.

ACF equivalent: file
Returns: array / string / integer

WYSIWYG

TinyMCE rich text editor with media upload. Full WordPress editor features: headings, lists, links, images, embeds. Returns HTML.

ACF equivalent: wysiwyg
Returns: string (HTML)

oEmbed

Paste any URL (YouTube, Vimeo, Twitter/X, Spotify, SoundCloud, etc.) for automatic embed. WordPress’s built-in oEmbed discovery handles the preview.

ACF equivalent: oembed
Returns: string (embed HTML)

Gallery

Multi-image selection with drag-drop reordering. Returns an array of image metadata objects.

ACF equivalent: gallery
Returns: array of image arrays


Choice fields

Select

Dropdown with single or multiple selection. Options defined as key=value pairs. Supports default value and placeholder text.

ACF equivalent: select
Returns: string / array (multi-select)

Checkbox

Multiple choices from a list. Optional toggle-style layout. Returns an array of selected values.

ACF equivalent: checkbox
Returns: array

Radio

Single choice from a list. Optional inline layout. Returns the selected value.

ACF equivalent: radio
Returns: string

True/False

Boolean toggle with custom “on” and “off” labels. Returns true or false.

ACF equivalent: true_false
Returns: boolean

Button Group

Visual radio buttons rendered as a button group. Same logical behavior as Radio but different presentation.

ACF equivalent: button_group
Returns: string


Relational fields

Relationship

Multi-select from any post type. Search, filter, and drag-to-reorder. Returns an array of post objects or IDs.

ACF equivalent: relationship
Returns: array of WP_Post objects / array of IDs

Post Object

Single post selector with taxonomy filters. Returns the selected post object or ID.

ACF equivalent: post_object
Returns: WP_Post object / integer

Page Link

Select any published page, post, or custom post type. Returns the URL to the selected page.

ACF equivalent: page_link
Returns: string (URL)

Taxonomy

Select terms from any taxonomy. Options: single or multi-select, display as dropdown / checkbox / radio / multi-select.

ACF equivalent: taxonomy
Returns: array of term objects / array of IDs / string

User

Select a user with role and capability filters. Multi-select supported.

ACF equivalent: user
Returns: WP_User object / array of WP_User objects


jQuery fields

Date Picker

Date selection with configurable display format (MM/DD/YYYY, etc.) and return format. Uses jQuery UI datepicker.

ACF equivalent: date_picker
Returns: string

Time Picker

Time selection with 12 or 24 hour format. Configurable display and return format.

ACF equivalent: time_picker
Returns: string

Color Picker

Color selection with alpha channel support. Returns a color value (hex, rgba).

ACF equivalent: color_picker
Returns: string


Layout fields

Tab

Group fields into tabbed interface in the post editor. Not a value-storing field — it’s a layout helper.

ACF equivalent: tab
Returns: nothing (layout only)

Accordion

Collapsible field group. Users can expand/collapse to focus on specific sections of a long field group.

ACF equivalent: accordion
Returns: nothing (layout only)

Message

Informational text displayed in the editor. Not a field — used for instructions, warnings, or help text.

ACF equivalent: message
Returns: nothing (display only)


Pro compound fields

Repeater

Dynamic row-based fields. Add any combination of sub-fields to a row template, users add/remove/reorder rows at will. Supports nested repeaters.

ACF equivalent: repeater
Returns: array of row arrays (or use have_rows() / the_sub_field() loop)
Full repeater feature →

Group

Nested group of related fields under a single label. Non-repeating (use Repeater for repeating groups). Useful for logical organization of related data.

ACF equivalent: group
Returns: associative array

Flexible Content

Multiple row layouts per field. Each row can be a different layout (e.g., “hero,” “features,” “testimonials,” “CTA”). Users pick which layout to use for each row.

ACF equivalent: flexible_content
Returns: array of row arrays with acf_fc_layout key indicating layout
Full flexible content feature →

Clone

Reuse an entire field group inside another. Define shared fields once, clone wherever needed.

ACF equivalent: clone
Returns: depends on cloned fields


Blocks

PHP Blocks

Register Gutenberg blocks that render via PHP callback with access to custom fields. Uses acf_register_block_type() (ACF-compatible) or fieldforge_register_block_type() (native).

acf_register_block_type([
    'name'            => 'feature-card',
    'title'           => 'Feature Card',
    'render_callback' => 'my_feature_render_callback',
    'category'        => 'theme',
    'icon'            => 'star-filled',
]);

Full PHP blocks feature →


Field type comparison with ACF

Field Forge supports every field type ACF has, plus a few extras via custom field groups. Migration from ACF preserves every field type 1:1 — no field types get “lost in translation” during import.


Adding custom field types

Field Forge has a filter-based API for registering custom field types. Developers can add their own types by hooking into fieldforge/field_types/register:

add_filter('fieldforge/field_types/register', function($types) {
    $types['lottie'] = [
        'label' => 'Lottie Animation',
        'render' => 'my_lottie_field_render',
        'save' => 'my_lottie_field_save',
    ];
    return $types;
});

Your custom field types appear in the visual builder’s field type picker and integrate with Field Forge’s storage, import/export, and REST API.


Ready to use 32 field types?

Get Field Forge — from $35/year →

Most field types are included in the free version. The compound types (Repeater, Group, Flexible Content, Clone), Gallery, and PHP Blocks are unlocked on every paid plan.

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