Taxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. “OR” Relation Now Supported in Posts Controller
/wp/v2/posts?tags=1&categories=2 returns all posts assigned the tag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) with ID 1, AND assigned the category The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. with ID 2. This AND relationship, where multiple taxonomies’ term relationships must all be satisfied, has been the only supported behavior in these collection endpoints since WordPress 4.7.
The REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
/wp/v2/posts endpoint, as well as custom post type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. endpoints extending from
WP_REST_Posts_Controller (including custom post types specifying
"show_in_rest" => true), now supports a new
tax_relation parameter which can be used to return posts matching either taxonomy filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output., rather than both.
As an example, in WordPress 5.4, the posts endpoint query
will now return posts in either the tag ID 1 or the category with ID 2.
Selective Link Embedding
The REST API now supports returning a limited set of embedded objects using the
_embed parameter. As an example, in WordPress 5.4, the following query only embeds the author information instead of including all the comments, media, etc…
All embeds will be returned if a value for the
_embed parameter is omitted, or set to
WP_REST_Server method changes
WordPress 5.4 changes the signature of two methods in the
WP_REST_Server class. Developers who are extending
WP_REST_Server and overriding these methods should update their code to match the new signatures to avoid PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warnings.
- The signature of
WP_REST_Server::embed_links() is now
embed_links( $data, $embed = true ). The new
$embed paramter accepts an array of link relations (such as
array( 'author', 'wp:term' )) and limits the embedded links in the response to those relations. The default of
true maintains the previous behavior of embedding all links in the response. For more details, see #39696.
- The signature of
WP_REST_Server::get_routes() is now
get_routes( $namespace = '' ). The new
$namespace parameter accepts a string and limits the returned routes to those whose namespace matches the string. Internally,
WP_REST_Server uses this new parameter to improve the performance of
WP_REST_Server::dispatch() by reducing the number of regex checks necessary to match a request to a registered route. For more details, see #48530.
For performance reasons,
WP_REST_Server::embed_links() also now caches response data in memory. This cache is managed by
WP_REST_Server::response_to_data(). Code calling the protected
embed_links method being called directly may need to be updated to ensure stale data is not returned.
(Thank you to @dlh for authoring this section)
See the full list of REST API changes on Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..
#5-4, #dev-notes, #rest-api