WordPress Plugin · v1.4.0

The ACF alternative that stores your fields in real database tables

Fieldstone gives you 24 field types, custom post types and taxonomies — stored in fast, indexed tables instead of wp_postmeta. Already on ACF? Import your field groups in one click.

Free & open source 24 field types One-click ACF import Data never deleted on uninstall

Move your ACF field groups over in one click

With Advanced Custom Fields active, Fieldstone shows an import banner. One click recreates each ACF field group. Anything that can’t map one-to-one is reported as a plain-English warning — and your ACF groups and data are left untouched, so both can run side by side while you check.

1
Fieldstone’s import banner listing your Advanced Custom Fields groups

Fieldstone spots ACF

Install Fieldstone alongside ACF. An import banner appears on the Field Groups screen, listing every ACF group it can bring across.

2
Selecting Advanced Custom Fields groups to import into Fieldstone

Import in one click

Pick the groups and import. Fieldstone recreates each one and builds its storage table. The mapping is deterministic — no AI involved.

3
Import summary showing plain-English warnings for anything that can’t map one-to-one

Review the warnings

Anything without a one-to-one equivalent is flagged in plain English — nothing is dropped silently. Your ACF data stays exactly as it was.

Repeater and Flexible Content fields import with Fieldstone Pro.

24 field types — text to page links
Custom table storage — one row per post
Postmeta mirror — full ecosystem compatibility
AI generation — optional, bring your own key

Where your data lives matters

Most custom-field plugins scatter two rows per field across wp_postmeta. Fieldstone stores values in dedicated, indexed tables — one row per post — for speed and sanity.

⚡

Custom table storage

One indexed row per post. Opt any field into a real database index. Faster queries, no postmeta bloat, content you can actually query by field value.

🔄

Postmeta mirror

On by default. A plain copy of every value stays where the rest of the ecosystem expects it — exports, backups, SEO plugins, and search plugins keep working untouched.

📁

Local JSON

Every definition (field groups, post types, taxonomies) syncs to files for version control and deployments. Perfect for teams and CI workflows.

🛡️

Data stays safe

Deleting the plugin does not remove your data by default. An explicit opt-in setting handles full cleanup when you want it.

Measured against ACF, on the same 10,000 posts

ACF keeps every field value in wp_postmeta, which has no index on the value, so filtering by a field means reading every row for that field. Fieldstone keeps one row per post with a real column per field, and you choose which columns to index.

Filter by one field city = X, newest 2017.6× faster
ACF18.2 ms
Fieldstone1.03 ms
Read 10 fields of one post cold cache3.3× faster
ACF0.77 ms
Fieldstone0.23 ms
Save 10 changed fields on an existing post1.6× slower
ACF8.33 ms
Fieldstone13.7 ms

Milliseconds, median of 20 runs; lower is better. 10,000 posts × 10 fields on a development laptop (Intel Core i5-9300H @ 2.40GHz, 8 GB RAM, SSD), MariaDB 10.4.28. Bars are scaled within each test. Saving is slower by default because Fieldstone also writes a plain postmeta copy of each value, which keeps SEO, export and search plugins working; with that switched off the same save takes 6.33 ms.

See every test, the method, the SQL and the code →

How we tested

The same 10,000 posts and 100,000 field values were written into ACF 6.8.5 and Fieldstone 1.3.1 through each plugin’s own functions, each tested with the other plugin unloaded. The ACF query is the SQL that WP_Query generates for a meta_query; the Fieldstone query is SQL against its own table, with an index on the filtered field. Both returned identical posts. No persistent object cache; measured from the command line, one request at a time. The full write-up lists what this does not show and has the code so you can run it yourself.

Everything you need to model content

Visual editor, conditional logic, location rules, custom post types, REST API, WP-CLI, and a clean developer API — all in one focused plugin.

Visual field group editor

24 field types: text, textarea, number, range, email, URL, password, select, checkbox, radio, button group, true/false, image, file, WYSIWYG, oEmbed, date, colour, link, icon picker, post link, plus the layout types tab, accordion and message.

Location rules

Target field groups by post type, page template, specific post/page, page type, or post status — with and/or logic.

Conditional logic

Show or hide fields based on other fields’ values. Rules are enforced server-side for reliability.

Custom post types & taxonomies

Register them from the same editor. Labels are generated for you so you can move fast.

REST API ready

Opt field groups into the REST API. Values appear on post responses and are writable with proper permissions.

WP-CLI commands

wp fstn json status|sync, mirror rebuild, table status — built for automation and deployments.

Generate with AI

Describe a field group in plain language and get the whole group drafted. Optional, bring-your-own Anthropic API key. Completely off until you add one.

Front-end forms

fstn_form() renders a field group on the front of your site and accepts the submission — with validation, a honeypot and rate limiting. The target is stored server-side, never in the page.

One-click import from ACF

Bring your existing Advanced Custom Fields groups across in one click, with a plain-English warning for anything that can’t map one-to-one. Deterministic mapping, no AI — and your ACF data is left untouched.

Options, users & terms

Store fields on posts, site options, users, or taxonomy terms with the same simple API.

Premium admin design

Branded header, segmented tabs, colored field-type badges, refined cards and inputs — a polished experience out of the box.

Text Textarea Number Range Email URL Password Select Checkbox Radio Button Group True / False Image File WYSIWYG oEmbed Date Colour Link Icon Picker Post Link Tab Accordion Message

Simple, predictable template functions

Read and write fields with a clean PHP API. Escaping by default where it matters. Works with posts, options, users, and terms.

theme / single.php
// Echo escaped plain text
fstn_the_field( 'headline' );

// Get a formatted value (you escape)
$price = fstn_get_field( 'price' );
$img   = fstn_get_field( 'headshot' ); // array: id, url, alt

// All fields at once
$f = fstn_get_fields();

// Options, users, terms
fstn_get_field( 'company_tagline', 'option' );
fstn_get_field( 'twitter', 'user_' . get_the_author_meta( 'ID' ) );

Up and running in three steps

1

Create a field group

Go to Fieldstone → New Field Group, add your fields, and set a location rule (e.g. Post Type is Page).

2

Fill in the values

Edit a matching post — your fields appear in a clean metabox. Fill them in and update.

3

Display in your theme

Use fstn_the_field() or fstn_get_field() in your templates.

Everything free, plus what Pro unlocks

The free plugin is fully functional on its own. Pro adds the repeatable and relational field types — on the same fast storage.

Feature comparison of Fieldstone Free and Fieldstone Pro
FeatureFreePro
Field types
24 core field types (text → message)✓✓
Repeater, Flexible Content, Group—✓
Post Object, Relationship, User, Taxonomy (two-way)—✓
Gallery, Page Link, Clone—✓
Date/Time, Time, Google Map—✓
Storage
Custom-table storage (one indexed row per post)✓✓
Postmeta mirror for full compatibility✓✓
Developer tools
Template API, shortcode, REST, WP-CLI, Local JSON✓✓
One-click import from ACF✓✓
Options pages—✓
Block bindings (WordPress 6.5+)—✓
Forms & output
Front-end forms (fstn_form())✓✓
Conditional logic & validation✓✓
Support & updates
UpdatesWordPress.orgAutomatic
SupportCommunity forumPriority
Available now

Fieldstone Pro

Even more power for agencies and advanced sites — the repeatable and relational field types, options pages and block bindings. Same fast custom-table storage as the free plugin — now for repeaters and relationships too. One year of updates and priority support.

🔁

Repeater, Flexible Content & Group

Unlimited repeatable rows, mix-and-match layout blocks, and grouped — and nested — fields.

🔗

Relationship fields

Post Object, Relationship, User and Taxonomy fields, with two-way links kept in sync automatically.

🖼️

Gallery & Page Link

Ordered image galleries, plus internal and external page-link fields.

🗓️

Date/Time, Time & Google Map

Precise date-time and time pickers, and a Google Map location field.

⚙️

Options pages & block bindings

Site-wide settings screens, and bind core blocks to your Fieldstone fields (WordPress 6.5+).

♻️

Clone, updates & support

Reuse field sets with the Clone field, plus automatic updates and priority support.

Simple yearly pricing · 30-day refund · staging & dev sites always free.

Ready to model content the right way?

Free, open source, and built for developers who care about performance and data integrity.