State of the WordPress REST API

There are two key “components” to the API: the infrastructure that makes it possible to register endpoints and define their behaviours, and the core endpoints which leverage the infrastructure bits to create RESTful endpoints that let you read/write/manipulate WordPress features like posts, pages, etc.

The infrastructure bits are already in WordPress core. If you maintain a plugin or client website that you’d like to build a custom API for, that’s all set. You can go ahead and do that right now, no questions asked.

The core endpoints are what are causing all the fuss and drama. Essentially, a certain group of people (most vocally WordPress creator Matt Mullenweg) feel that the core endpoints, which are not yet in WordPress core, shouldn’t be merged until they can replicate every piece of functionality that the WordPress admin panel(wp-admin) is capable of.

The team who has been building the REST API for the past few years isn’t thrilled about that stance. They designed the API to be capable ofprogressive enhancement, where new features can be added without breaking old clients. They argue this gives them more time to determine the best approaches for some of these really complex features.

The other faction feels that releasing a limited set of core endpoints will ultimately cause more confusion and frustration for users, many of whom may be encountering APIs for the first time ever when they work with the WP REST API.

That’s essentially the state of affairs. Because Matt Mullenweg is a sort of “benevolent dictator for life”, the API is kind of in a stalled point until his (and others; he’s not the only one with this stance, but he’s uniquely positioned to affect change) concerns are quelled.


One thought on “State of the WordPress REST API”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s