Skip to content
Repaint

Meta Boxes

Custom fields without a builder UI. Declare the fields in code, get sortable repeatable rows in the editor, and keep the definition in version control.

Live preview
The settings screen in Meta Boxes
OVERVIEW

Fields in code, rows in the editor.

Custom fields without a builder UI. Declare the fields in code, get sortable repeatable rows in the editor, and keep the definition in version control.

Field builders put the schema in the database, which means it cannot be reviewed, diffed or deployed. Every environment drifts and somebody eventually exports JSON by hand.

Here the schema is a PHP array in the theme. It is reviewable, deployable and identical across environments, and the editor UI is generated from it.

Our field definitions live in git now.

— A lead developer

WHAT YOU GET

Schema you can review.

Schema in version control

Fields are declared as a PHP array, so the definition is diffable and deploys with the code.

Sortable repeaters

Drag to reorder, with row indexes rewritten so the saved array is always contiguous.

Sanitised per type

Each field type carries its own sanitiser, and nothing is written without a verified nonce.

No lock-in

Values are plain post meta. Deactivate the plugin and the data is still there in a readable shape.

FULL FEATURE LIST

The rest of the field layer.

Everything needed to define fields in code and still give editors a usable interface.

  • Fields declared as a PHP array
  • Sortable repeatable rows
  • Per-type sanitisation
  • Nonce on every save path
  • Values stored as plain post meta
  • Media picker field type
  • Conditional field visibility
  • Works in both editors
  • Stores nothing outside post meta
SPECS

The details

Version
1.9.0
Released
Jan 23, 2026
Schema
PHP array
Storage
Plain post meta
Repeaters
Sortable
Footprint
Post meta only
CHANGELOG

Recent releases

  1. 1.9.0Jan 2026 — Row indexes rewritten after drag as well as after removal
  2. 1.8.0Dec 2025 — Conditional visibility added to field definitions
  3. 1.7.0Oct 2025 — Media picker field type introduced