HomeProjectsOpenFields: Modern Custom Fields for WordPress
OpenFields admin interface overview
Detailed field configuration UI
Location rules builder with AND/OR groups
Easy drag-and-drop field management
OpenFields animated logo
2025

OpenFields: Modern Custom Fields for WordPress

A developer‑friendly, open‑source alternative to ACF – built with React, TypeScript, and REST API. Copy/paste fields, visual location rules, and zero lock‑in.

Technologies Used

TypeScript
React
GitHub
WordPress

OpenFields: Rebuilding Custom Fields for WordPress, the Right Way

Overview

OpenFields is a free, open‑source custom fields plugin for WordPress that combines a modern React admin interface with a developer‑friendly API. It‘s built for those who love ACF’s simplicity but want a tech stack from this decade, full TypeScript support, and zero feature paywalls.

The backend follows WordPress coding standards, while the admin UI is a type‑safe React SPA powered by Zustand, Tailwind, and shadcn/ui. All communication happens via a clean REST API, and fields are stored in native meta tables with a configurable prefix (default: of_).

Why Another Custom Fields Plugin?

“ACF is great, but its admin UI is still jQuery in 2025, and essential features like repeaters are paywalled.”

OpenFields was born from frustration. I wanted a custom fields solution that:

  • Feels modern – React 18, TypeScript, Vite, Tailwind
  • Never locks features – everything is free, forever
  • Respects developers – full REST API, TypeScript types, predictable behaviour
  • Makes copying fields effortless – no export/import dance, just ⌘C/⌘V and “Send to Fieldset”

The result is a plugin that feels like it was built in 2025 – because it was.

System Architecture

OpenFields is split into two independent parts that communicate via REST.

  • Custom tables: wp_openfields_fieldsets, wp_openfields_fields, wp_openfields_locations
  • Location manager – evaluates AND/OR rule groups to decide where a fieldset appears
  • Meta box renderer – injects fields into post, term, or user edit screens
  • REST API – full CRUD for fieldsets, fields, and locations (no admin-ajax)
  • Storage abstraction – works with postmeta, termmeta, and usermeta out of the box

Location Rules: AND/OR Made Visual

One of the most intuitive parts of OpenFields is the location rules builder. Instead of cryptic conditional logic, you get visual groups:

Location rules builder interface

Rules inside the same group are combined with AND. Different groups are combined with OR. This exactly matches how WordPress developers think about conditional display.

Field Types & Extensibility

OpenFields already includes a rich set of field types, and adding your own is straightforward.

CategoryField Types
Basictext, email, textarea, number, url
Choiceselect, radio, checkbox, switch
Mediaimage, file, gallery, oembed
Relationalpost_object, taxonomy, user, relationship
Layoutgroup, repeater, flexible content, tab, accordion
Advanceddate_picker, time_picker, color_picker, map, code_editor

Each field type can have its own settings UI – everything from placeholder text to conditional logic and wrapper CSS classes.

Modern Build Pipeline

The React admin app is built with Vite, and the plugin automatically versions assets using the version from package.json.

API First, Headless Ready

Every operation you can do in the UI is also available via REST. This means you can manage fieldsets programmatically, integrate with CI/CD, or build entirely custom frontends.

The API uses manage_options capability, so it‘s safe for admin use. Public read endpoints are on the roadmap.

Open Source, Heart & Sustainability

“OpenFields is my love letter to the WordPress community.”

I’ve been building WordPress sites for over a decade. I‘ve seen how custom fields plugins have become either outdated or outrageously expensive. OpenFields is my attempt to give back – a truly free, modern alternative that doesn’t hold your data hostage.

But maintaining a plugin with a React admin, custom tables, and constant compatibility testing across WordPress versions takes real time. If OpenFields saves you hours of work or makes your clients happy, please consider:

  • Starring the GitHub repo – helps others discover it
  • 🐛 Reporting bugs or sending PRs – every contribution matters
  • 💖 Sponsoring me on GitHub – even $5/month helps cover coffee and testing environments
  • 📣 Spreading the word – in WordPress meetups, Slack groups, or tweets

No guilt if you can‘t. The code will always be free. I just want to keep it alive.

What’s Next?

Easy drag-and-drop interface