I finally did it, I forked WordPress

ghere1 pts0 comments

DMPress — Headless data-management CMS, a WordPress 7.0 fork

Skip to content

Pre-release: DMPress is at 1.0.0-beta.80 and is not yet recommended for production use.

A fork of WordPress 7.0<br>A CMS for data, not pages.

DMPress takes WordPress 7.0 and re-focuses it as a headless, data-management CMS. The block editor is gone. The plugin ecosystem, the hooks, and the REST API stay exactly where you left them.

Get DMPress<br>Why fork it?

Free & open source · GPL-2.0-or-later · Self-hosted

Headless — content over REST<br>Content-Type Builder with custom fields<br>Plugin API kept intact<br>Signed update channel

Why a fork<br>Twenty years of hardening, pointed at a different problem.

WordPress is superb at what it grew up to be: a publishing platform that renders pages. If what you actually need is somewhere to model, store and serve structured data, a lot of that machinery is weight you carry but never use.

Starting from scratch would mean re-solving problems WordPress solved a long time ago — authentication, roles and capabilities, the media library, i18n, database abstraction, an enormous plugin ecosystem, and a security process with two decades of scar tissue behind it. Those are not the interesting parts of a CMS, but getting them wrong is expensive.

So DMPress forks rather than rebuilds. It keeps the parts that are tried and tested, removes the parts that only exist to render pages, and adds a first-class way to define your own content structures.

The short version

Keep the boring, battle-tested foundations. Drop the page-rendering layer. Make structured content the primary concern rather than an afterthought.

Content typeArticle

Title

Author

Category

Body

What we kept<br>The tried and tested parts stay, deliberately.

DMPress keeps the wp namespace throughout — internally, in hooks, and on the REST API — so what already works keeps working. This is the whole reason forking makes sense.

The plugin ecosystem

Hooks, filters and the plugin API are unchanged, so existing plugins continue to work. The API is kept intact precisely so site-specific needs have a real home.

The REST API

Same namespace, same shape. It is now the primary way content leaves the system rather than one option among several.

Users, roles & capabilities

The permissions model, authentication and login flow are inherited as-is — two decades of security work you do not want to reimplement.

The classic editor

A familiar, stable editing surface for the content that genuinely is prose, without a block layer on top of it.

The updater machinery

WordPress's own WP_Upgrader still unpacks the package, copies it into place and runs the database upgrade. DMPress adds only the manifest check, the download and the signature verification.

The bundled libraries

jQuery, Backbone, PHPMailer, SimplePie, Requests, getID3, sodium_compat and the rest are redistributed unchanged, licences retained.

Two version numbers, on purpose

$wp_version stays at 7.0 — what plugins check via Requires at least, and what WP-CLI sees. $dmpress_version (1.0.0-beta.80 ) is the product version shown to users. Plugins that depend on the block editor will not function, but they load without fatal errors: an inert block API shim keeps register_block_type(), has_blocks(), parse_blocks() and friends callable as no-ops.

What's different<br>Where DMPress parts ways with WordPress 7.0.

WordPress 7.0DMPress

EditorBlock editor (Gutenberg)Classic editor only<br>Front endServer-rendered by coreHeadless — the active theme's index.html is served with no WordPress boot; content comes from REST<br>Themesstyle.css + PHP templates, parent/childA theme.json manifest plus an index.html front end; no child themes<br>Content typespost and page hard-codedDefined in the Content-Type Builder; both are deletable<br>Taxonomiescategory and post_tag hard-codedContent-Type Builder entries; can be renamed, disabled or removed<br>Custom fieldsPlugin territoryBuilt in — part of the Content-Type Builder<br>Admin menuFlat top-level itemsConsolidated Admin menu with grouped headings<br>CommentsGlobal sidebar itemPer-post-type submenu, enabled per type

Also removed: Site Health, the Settings → Privacy and Connectors sections, the Customizer and Theme File Editor menu entries, the dashboard content widgets, and core self-update.

Every change relative to stock WordPress 7.0 is itemised in DMPRESS-CHANGES.md , together with the known consequences of each decision.

Built in — Content-Type Builder

Define your structure in the admin.

Post types, taxonomies, options pages and custom fields are all defined through the Content-Type Builder — no code, and no plugin to install first.

It is powered by Secure Custom Fields 6.9.1 , the WordPress.org open-source fork of Advanced Custom Fields, bundled into core rather than bolted on. Even post, page, category and post_tag are ordinary entries here — you can rename them, disable them, or delete them outright.

Field group

Text

Relation

Repeater

Taxonomy

Headless by design

The...

content wordpress dmpress type editor plugin

Related Articles