Contributors: svrooij
Donate link: https://github.com/sponsors/svrooij
Tags: json, rest, api, rest-api
Requires at least: 4.4
Tested up to: 5.4.2
Stable tag: 1.0.8
License: MIT
License URI: https://raw.githubusercontent.com/svrooij/rest-api-filter-fields/master/LICENSE
Filter the properties returned by the Wordpress rest api V2
Since wordpress version 4.9.? wordpress includes the functionality provided by this plugin in the core of wordpress.
Checkout https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/#_fields for functionality included in the wordpress core, they made it even better by filtering the amount of data pulled from the database.
This plugin will no longer be maintained since it has been superseded by the core functionality.
The wp-rest-api-v2 returns a lot of properties. It could be very useful (or mobile-data-friendly) to only return the properties needed by the application.
If you only want titles and links of some articles it doesn't make sense to return the content or the excerpt.
This isn't limited to posts, it also works on custom posttypes, categories, pages, terms, taxonomies and comments.
Instead of returning:
{
"id": 2138,
"date": "2015-10-25T15:31:03",
"guid": {
"rendered": "http://worldofict.nl/?p=2138"
},
"modified": "2015-10-25T15:31:03",
"modified_gmt": "2015-10-25T14:31:03",
"slug": "rechtenvrije-fotos",
"type": "post",
"link": "http://worldofict.nl/tip/2138-rechtenvrije-fotos/",
"title": {
"rendered": "Rechtenvrije foto’s"
},
"content": {
"rendered": ".. A lot of content .. "
},
"excerpt": {
"rendered": " .. A lot of content ..."
},
"author": 2,
"featured_image": 2139,
"comment_status": "open",
"ping_status": "open",
"sticky": false,
"format": "standard",
//.. even more tags ....
}
It can return (with fields=id,title.rendered,link
as GET parameter)
{
"id": 2138,
"link": "http://worldofict.nl/tip/2138-rechtenvrije-fotos/",
"title": {
"rendered": "Rechtenvrije foto’s"
}
}
- If you specify fields so it wouldn't return data the default response is send back to the client.
- (for developers) something wrong with this plugin? Github
- If you liked the plugin consider sponsoring me
Installing this plugin is really easy.
Just search the plugin directory for rest api filter fields
and press install.
Or download it right from Github and copy the rest-api-filter-fields
directory in the archive to wp-content/plugins/
.
No, this plugin only removes entries. When you want to add featured_images, I recommend using better-rest-api-featured-images
You can filter on nested properties with a '.' like 'title.rendered'. Not sure if this also works on arrays. Existing issues or Submit issue
Yes, we picked 20 as priority (default = 10) for activating. This mean this plugin is probably activated last, so all custom post types should already be loaded. But this only works if you made it public for the api. See Adding REST API Support for Custom Content Types for more information.
All the bugs/issues are maintained on github.com/svrooij/rest-api-filter-fields so please create an issue (or a pull request with a fix) there.
- Final version before being archived.
- This update will disable the functionality in wordpress 5.0 or above and show a message in the admin dashboard.
- Filter fields enabled on users Issue #9
- Bumped wordpress version
- Filter fields enabled on custom taxonomies Issue #6, thanks to Denis Yilmaz for the fix!
- Support for embedded fields (when you include the
_embed
GET parameter!). - The
_links
field doesn't get stripped anymore. - Taking the first element of an collection with
first
, like_embedded.author.first.name
. - Moved all the logic to a separate class, so it won't intervene the Wordpress core.
- Updated readme.
- Added filtering for categories Issue #4
- Tested on Wordpress version 4.6.1
- Bumped tested wordpress version to 4.4
- Metadata update (personal website is https only :D)
- First release of rest-api-filter-fields