Bindery gives any WordPress theme a clean, locked, edit-in-place experience — without a page builder and without giving up hand-written markup.
Custom and AI-built themes are fast and clean, but content-hostile: a client can’t change a headline or a phone number without a developer. Page builders fix that but bloat your markup and your editing screen. Bindery is the missing middle — you decide what a client may change, and they edit only that, right on the live page.
Everything is built on native WordPress primitives (the Block Bindings API, block.json, the REST API), so Bindery never owns your markup and adds no builder lock-in.
bindery_attrs()) makes a single element editable; template tags render declared fields anywhere; eight ready-made blocks cover richer content.bindery_attrs() marks one element editable in your template.bindery_field() / bindery_value() render a declared field in PHP.A small DI container with four filter-driven seams (field types, value sources, storage adapters, locale providers). Values live in their own table, never in your markup; writes are whitelisted to the fields actually on the page and sanitized per type; output is escaped per type. WP-CLI commands for export/import/history/restore. Full API in the bundled DEVELOPERS.md and README.md.