This post originally appeared on make.wordpress/core.
Since I last wrote two weeks ago, we’re making progress! Key achievements for Gutenberg and the REST API include:
- Support for
who=authorswas added to
GET wp/v2/users, making it possible to accurately query for authors. WordPress, for better or for worse, defines an author as
user_level!=0. See WordPress/gutenberg#6361 for the context on why we can’t add this logic client-side (#42202 for WordPress 4.9.6).
- Improved performance for the
_fields=query parameter (e.g.
GET wp/v2/pages?_fields=id,title) by ensuring WordPress core will only process the fields requested for the response. Notably, this helps us avoid running
the_contentwhen we don’t need to be (#43874 for WordPress 4.9.7).
- Minor enhancements to reflect existing WordPress behaviors:
- Disables the Preview button when post type isn’t viewable (WordPress/gutenberg#6232 for Gutenberg 2.7)
- Filters the Post Format list to only formats that are supported (WordPress/gutenberg#6296 for Gutenberg 2.8)
- Only displays Featured Image UI when theme supports it too (WordPress/gutenberg#6541 for Gutenberg 2.8)
The “Merge Proposal: REST API” GitHub milestone represents the distance we still need to close. Slowly, steadily, we’re bridging the gap, but we could use your help. Here are some of the issues we’re still working through:
- To ensure all necessary data is available to Gutenberg, we’ve settled upon permitting unbounded
per_page=-1REST API requests for authorized users. This landed for
GET wp/v2/users(WordPress/gutenberg#6627), is in-progress for
GET wp/v2/(pages|blocks)(WordPress/gutenberg#6657), and needs to be addressed for categories, tags, and custom taxonomies. We also need to patch core with this enhancement (#43998 for WordPress 4.9.7?)
- Capabilities can’t be processed directly client-side (WordPress/gutenberg#6361), so we’ve introduced a new
targetSchemaconcept to communicate which actions a user can perform. See it in action with
wp:action-assign-author(WordPress/gutenberg#6630). There are a few other actions we will need to work out, and then we’ll need to patch core (no ticket yet).
- Adam is putting together an improved autosaves implementation (WordPress/gutenberg#6257) that I literally cannot wait to see complete. I’m sure he could use some help testing in the near future.
- Felix is implementing a
WP_REST_Search_Controllerendpoint (WordPress/gutenberg#6489) to power the link search UI.
Join us tomorrow, Thursday, May 10 at 17:00 UTC in
#core-restapi office hours if you’d like to chat through any questions you have.