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
Querying for /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
/wp/v2/posts?tags=1&categories=2&tax_relation=OR
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…
/wp/v2/posts/?_embed=author
All embeds will be returned if a value for the _embed
parameter is omitted, or set to true
or 1
.
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