Modifying WordPress API Base Endpoint URL Prefix for WP REST API

If you’ve spent any time in the WordPress community,  you might have heard about made to the new REST API. However, unless you’re an experienced developer, you may not have any idea what the WordPress REST API actually is.

While the technical details are a bit complex, the basic concepts behind this feature are easy enough to grasp. The new API helps expand what WordPress as a platform can do.

REST APIs have a base URL to which the endpoint paths are appended. The base URL is defined by schemeshost and base Path on the root level of the API specification.

The WordPress developers Community developed its REST API more simpler than ever for developers to connect WordPress with other sites and applications.

This post has been updated for the current WordPress REST API. The new URL for the endpoints contain the prefix as well as a namespace.  Here is an example endpoint,

https://www.ashokkuikel.com/wp-json/wp/v2/posts/1816

That will fetch the details of first post. The the above example, “wp-json” is the rest url prefix while the “wp/v2″ is the namespace.

If you don’t like the default base prefix and want to change it from “wp-json” to something more beautiful, the code below will help you. In the code below, I have changed the base prefix from “wp-json” to “custom_endpoint“.

add_filter( 'rest_url_prefix', 'modify_endpoint_api_slug');
function modify_endpoint_api_slug( $slug ) { return 'custom_endpoint'; }
flush_rewrite_rules(true);

Once you put the above code in your theme’s functions.php or in a plugin, Please visit the Dashboard->Settings->Change your permalinks( You can restore it after saving again, we need to change it at least once to flush the rewrite rules ).

As soon as you are done with flushing the rewrite rules, you can access all the data from your new custom_endpoint like this.

https://www.ashokkuikel.com/custom_endpoint/wp/v2/posts/1816

Now, that is not the nicest looking url, but the version 2 of the API has made it necessary to have namespaces in the prefix(wp/v2 is the namespace here).

Want to learn about  WP REST API ? You can read the handbook here.

https://www.ashokkuikel.com/how-to-redirect-http-to-https-automatically/

Ashok kuikel

Hi, I am Ashok Kuikel, WordPress Developer for WordPress Community. While Cloud Computing Associate and Alibaba MVP and ACA for Cloud Professional. You can follow me on Social Media, GitHub, and via my Blog Channels.

Leave a Reply

Your email address will not be published. Required fields are marked *