OpenFields can be the new go-to ACF Plugin for WP ( 2026 )

The short version

Advanced Custom Fields (ACF) is great. But the free tier lacks repeaters, and the Pro license costs real money.

OpenFields (GitHub: novincode/openfields) does everything ACF Pro does, uses the exact same get_field() API, and is 100% GPL.

I tested it on a production site. It works. No catch.

Technical compatibility – it’s not a rewrite

OpenFields mirrors the ACF Pro API exactly. These functions work out of the box:

get_field() / the_field()
have_rows() / the_row() / get_sub_field()
get_fields() / update_field() / delete_field()
get_field_object()

That means your existing templates keep working. No refactoring.

Repeater example

 if( have_rows('team_members') ) : ?>
     while( have_rows('team_members') ) : the_row(); ?>
        

the_sub_field('name'); ?>

the_sub_field('role'); ?>

endwhile; ?> endif; ?>

Same syntax. Same output.

Admin interface – React + TypeScript + Vite

Most free alternatives have a jQuery mess. OpenFields doesn’t.

  • React 18 for the field builder
  • TypeScript throughout
  • Vite for builds (not Webpack – faster HMR)
  • Tailwind CSS for the UI

The drag‑and‑drop builder is responsive, conditional logic renders without full‑page reloads, and the JavaScript payload is small (they split chunks aggressively).

Build from source:

pnpm install
pnpm build   # Vite + TypeScript -> admin/dist/

No encrypted or minified backdoors. Everything is readable.

No “Pro” version – actually free

Check the GitHub repo. There is no premium code. No feature flags. No “unlock repeater” prompts.

All field types are included:

  • Text, textarea, number, email, URL
  • Select, checkbox, radio, switch
  • Date, time, datetime, color picker
  • Image, file, gallery
  • WYSIWYG
  • Post object, taxonomy, user
  • Repeater and group (the ones ACF hides behind Pro)

Location rules: post types, page templates, taxonomies, user roles.

Running alongside ACF – safe migration

If ACF is active, OpenFields does not load its own get_field() wrapper. No function collisions.

Instead, you get prefixed versions that always work:

cofld_get_field('field_name', $post_id);

Both plugins write to standard wp_postmeta. You can install OpenFields, test on a staging site, then deactivate ACF. Your data stays.

REST API – headless ready

All fields are exposed via WordPress REST API. No extra configuration.

Fetching a post with custom fields:

GET /wp-json/wp/v2/posts/{id}?_fields=id,title,acf

Returns the same meta structure as ACF. If you’re using Next.js or Nuxt with WordPress as a backend, OpenFields won’t break your schema.

Performance notes (quick)

  • Stores data as native post meta – no custom tables (unless you extend it)
  • No admin bloat on the frontend – styles/scripts only load on field group admin screens
  • PHP 7.4+ (tested to 8.3)
  • WordPress 6.0+ (tested to 6.9.4)

I ran a simple benchmark with 20 repeater rows and 10 fields per row. OpenFields and ACF Pro had identical query times (both use get_post_meta calls). No surprises.

What’s missing compared to ACF?

  • Smaller ecosystem – fewer third‑party addons
  • Less community content – you won’t find 5,000 YouTube tutorials (yet)
  • No official support – just GitHub issues and the WordPress.org forum

But if you’re a developer who reads docs, that’s fine.

Should you switch?

  • New project: Yes. Start with OpenFields. Don’t pay for a license you don’t need.
  • Existing ACF site: Test on staging. The drop‑in compatibility is real. I’d wait a few months for edge cases, but it’s already stable.
Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

Why Your Nextjs UI Flickers: TanStack Query vs useEffect

Related Posts