Description
The REST API was a great additional to WordPress that made it easy to grab data through the default routes. The biggest issue with these default routes is it will either grab too much data or too little data and it didnโt make it easy to only grab the data you need. This plugin makes it possible to create custom routes where you can set to pull only the data you need/want. Even better you wonโt even have to touch a line of code to make it work, everything will be configurable within the WordPress dashboard.
Features โก๏ธ
- Unlimited custom routes
- Custom route naming
- Custom filtering to only receive data you need
- Select which fields to output
- Query parameters
- A hassle-free experience
How to use
- To start using Advanced Custom Routes, go to the WordPress dashboard and select the Custom Routes section.
- Next click โAdd Newโ to create your first custom route.
- Give your custom route a name and start configuring your custom route to what you need.
- Query Builder Options: Select how to filter the posts you would like to receive at this custom route.
- Response Output: Select which fields you would like to receive at this custom route.
- Once you have configured everything to your liking, publish the custom route and you will now be able to receive your selected data at this route.
Query Builder Options
- Posts, Pages, and Custom Post Types
- Post ID
- Categories
- Tags
- Author
- Post Parent
- Status
- Order & Orderby
- Date
- Amount & Offset
Response Output
- ID
- Title
- Content
- Excerpt
- Link
- Slug
- Date Posted
- Status
- Featured Image
- Categories
- Tags
- Author
- Post Type
- Template
- Post Parent
- Menu Order
- Custom Fields
Route Parameters
You can also filter your custom routes using query parameters that you add to the end of your custom route like so:
https://example.com/wp-json/custom-routes/v1/posts?id=1
In the example above it would only pull data for that custom route where the post’s ID was equal to 1. This can be used for multiple different query parameters:
- amount
- offset
- page
- post_type
- id
- id_exclude
- category
- category_exclude
- tag
- tag_exclude
- author
- author_exclude
- post_parent
- post_parent_exclude
- status
- date_before
- date_after
- order
- orderby
- slug
- search
- page
Single Post Route
You can also receive data for a single post at a custom route using either an ID or a Slug, like so:
ID:
https://example.com/wp-json/custom-routes/v1/posts/1
(This would grab the post with an ID of 1 at this custom route)
Slug:
https://example.com/wp-json/custom-routes/v1/posts/hello-world
(This would grab the post with the slug of hello-world at this custom route)
How to install Advanced Custom Routes.
Using WordPress Plugin Directory
Navigate to the โAdd Newโ in the plugins dashboard
Search for โAdvanced Custom Routesโ
Click โInstall Nowโ
Activate the plugin on the Plugin dashboard
Uploading it to WordPress
Navigate to the โAdd Newโ in the plugins dashboard
Navigate to the โUploadโ area
Select advanced-custom-routes.zip from your computer
Click โInstall Nowโ
Activate the plugin in the Plugin dashboard
Via FTP
Download advanced-custom-routes.zip
Extract the advanced-custom-routes directory to your computer
Upload the advanced-custom-routes directory to the /wp-content/plugins/ directory
Activate the plugin in the Plugin dashboard
Screenshots
FAQ
- Why isn’t my custom post type showing in the query builder options?
-
Make sure when creating a custom post type that it is allowed to show in the REST API by setting
show_in_rest
totrue
. - Why is my custom route appearing empty?
-
If you custom route is appearing empty that means it cannot find any posts that match your query builder options. I would go back and make sure they are set up correctly.
- Can I use pagination with my custom route?
-
Sure can! To use pagination use the
page
route parameter. - How do I receive a single post from my custom route?
-
To receive a single post from a custom route add the post’s ID or slug to the end of the custom route. Learn more above in the Single Post Route section.
- My custom fields are not outputting how I expect at my custom route?
-
Make sure to go to Settings in Custom Routes to set your preferred custom fields plugin/library.
Reviews
Contributors & Developers
“Advanced Custom Routes – Custom Endpoints for WP REST API” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Advanced Custom Routes – Custom Endpoints for WP REST API” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.