The Complete Guide To WordPress JSON REST API

Over the past few months, there has been a lot of buzz amongst the WordPress community about the WordPress JSON REST API. Added to WordPress core in version 4.4, the API is probably the biggest step so far towards turning WordPress into a fully-fledged application framework. Providing a standardized way for other apps, platforms and environments to interact with WordPress, the WordPress JSON REST API opens up a whole new world of truly revolutionary possibilities to everyone in WordPress arena.

If you are still unaware of what WordPress JSON REST API is and what it does, then you have landed to the right place. This must-read guide contains everything you should know about the WordPress JSON REST API, including what it is, what you can do with it, why you should use it and much more!

The Complete Guide To WordPress JSON REST API

But before all that, let’s clarify some basic terms!

What is an API?

API, which stands for Application Programming Interface, basically is a set of various programming instructions made to define how two or more pieces of software should interact and share data with each other. Think of it like a USB port using which you connect different types of devices, like printer, pen drive and portable hard drive, to your computer. Where the USB port allows physical devices to communicate and share data with one another, on the other hand, an API allows two or more programs to exchange data with each other in limited, clearly defined ways.

The most suitable example of the use of API is a website or service that requires you to login through your Facebook credentials. It’s the API technology that lets you browse that particular website or service without actually going to the Facebook homepage. In short, an API plays a vital role in hand to hand collaboration between different web applications/services in a secure way.

What is a REST API?

REST (Representational State Transfer) is a special software architectural style designed to let developers build lightweight and user-friendly APIs that are suitable for high-volume services like Facebook, Google, Twitter and WordPress. Making use of the HTTP protocol, REST provides a lightweight way of communication (which takes less bandwidth) between a producer (e.g. WordPress) and a consumer (e.g. WordPress client). REST requests communicate with the resources in a service/application using the following four verbs:

  • POST: Create a resource.
  • GET: Retrieve a resource.
  • PUT: Update a resource.
  • DELETE: Delete a resource.

And, the data is exchanged in a machine-readable format like JSON.

What Is WordPress JSON REST API?

JSON drives its name from JavaScript Object Notation, which is a modern, lightweight, human-friendly data-exchange format based on the popular programming language JavaScript. The most interesting thing about JSON is that it is easy for both humans and machines to read, write, parse and generate. Below is a basic idea of how JSON looks like:

{ “students”: [
{ “firstName”:”Mark”, “lastName”:”Smith” },
{ “firstName”:”Tom”, “lastName”:”Olsen” },
{ “firstName”:”Steve”, “lastName”:”Jones” }
] }

So in simple words, WordPress JSON REST API or WP-API (as it is called by now) is an easy-to-use REST API that allows a WordPress site to share its data with other websites and services in simple JSON format, regardless of whether or not they are using WordPress. Additionally, the WP-API lets you perform Create, Read, Update and Delete (so called CRUD) actions on your WordPress content, including Pages, Posts, Media, Users, Comments, Taxonomies and Custom Post Types. The reason why WordPress opt for JSON is its universality – the JSON format is now a universal connector on the web!

What Can You Do With WordPress JSON REST API?

WP-API can be used for fixing existing issues as well as creating new possibilities. With WP-API, you can:

Improve Any Existing JavaScript based WordPress Functionality:

Most of the functions in WordPress are written in JavaScript, which you can improve with WP-API. Some examples of WordPress functionalities that can be improved are populating infinite scrolls, front-end content editing, backbone.js themes/plug-ins and form validation/submission.

Integrate Your Content with Other Application Platforms:

WP-API can help you produce a seamless interaction between your WordPress site content and other application platforms that are built with PHP or any other programming language used by WordPress.

Manage Content From/On Another Site Within the Network:

With WP-API, you can display content from another site within a Multisite setup. Also, you can create and update content on another site within the network.

Manage Content From/On a Separate WordPress Site:

Even, WP-API allows you to display content from a separate WordPress site that exists in a different Multisite network. Additionally, you can create or update content on a WordPress site outside the network.

Integrate Other Application Platforms with Your WordPress Site:

Just like you can integrate your WordPress content with another application platform, you can also integrate other application platforms with your WordPress site. This way, you’re able to display content from different sources on your WordPress site just the way you like.

Manage Content Within a Desktop/Mobile App:

Most importantly, WP-API opens up a ton of possibilities for bloggers. Using the WP-API, they now can display and manage their content from their favorite mobile/desktop blogging clients that may or may not the official Apps of WordPress.

Why to Use the WordPress JSON REST API?

If you’re a developer, WP-API might prove quite beneficial to you. Here are five solid reasons why you should consider using WP-API:

Create Context-specific Solutions:

According to W3Techs, more than 26% of all websites on the web are powered by WordPress. Built with PHP, these websites make use of WordPress theme system for their frontends. WP-API allows you to use any frontend technology which you think can solve your problem in a particular context. Means, you can fetch data from your WordPress site and display it wherever you want using your preferred technology.

Reusable, Portable Content:

WP-API makes the content of your WordPress site infinitely reusable and portable. After publishing content on your WordPress site, you can make it available to other web, mobile and desktop applications via WP-API. In other words, WP-API gives you the ability to display your content outside your WordPress site.

Streamline Project Management:

Since the frontend and core WordPress package are tightly coupled in traditional WordPress development, frontend developers are required to have some knowledge of WordPress backend. WP-API lets developers completely de-couple the frontend from backend and consequently streamlines project management to a great extent.

Use WordPress As a Central Repository:

With WP-API, you can use WordPress as a central place for all of your services and data, which makes it possible for other websites and services to easily aggregate your WordPress data. Furthermore, using WP-API provides you a standard platform for extending WordPress’ functionality using plug-in system.

Develop With Live Data:

WP-API allows you to develop things with real-time data. Data exposed through WP-API can be used for the environment you’re developing in. Moreover, you can also add content to the CMS and make it available to other developers, regardless of what kind of project they are working on.

Using the WordPress JSON REST API

WP-API comes in two parts – infrastructure and endpoints. In spite of the API infrastructure has been fully integrated into the WordPress 4.4 core, using WP-API still requires you to install and active the WordPress REST API plug-in for API endpoints. Also, you also need to have some knowledge of how to use WordPress HTTP API to make requests.

After activating the plug-in, you’ll be able to retrieve or update data on your WordPress site by sending an HTTP request. For example, if you want to get your site’s posts, simply send a GET request to / wp-json/ wp/ v2/ posts. Want to update the user with ID 10? Just send a PUT request to / wp-json/ wp/ v2/ users/ 4, where /wp-json/wp/v2/ is the base path of the API.

What Does WP JSON REST API Mean for WordPress?

Needless to say, the new WordPress REST API will totally change the way how we have been using WordPress so far. Turning ordinary WordPress CMS into a powerful application platform, WP-API lets you easily do a dozen amazing things outside from your WordPress dashboard. In fact, it opens WordPress up to the entire Internet so that third-party applications and services could collaborate with it to build something exceptionally innovative.

As a frontend developer, you are no longer bound to get acquainted with different environments, specially the WordPress backend. The new API brings numerous alternative solutions to your different development needs. For non-developers, on the other hand, WP-API would prove to be a great way of creating new plug-ins and solutions using which they can make third-party content available in WordPress. Overall, the future of WordPress is very bright with WP-API.

Companies Using the WordPress JSON REST API Right Now

Since WP-API has been around for a long time, many companies are already using it. Below are some robust examples:

  • Reactor: Allows you to build a fast, beautiful mobile app for your WordPress-powered business.
  • WP Search Live: A free light-weight WordPress plug-in that utilizes the power of WP REST API for live search functionality.
  • Event Espresso: A popular event registration & ticketing management WordPress plug-in.
  • JoinIn: Using WP-API to power its embeddable JS widget.
  • Human Made: Uses it to provide flexible front-end solutions to their clients.

About The Author:-

Ajeet is a senior web developer at WordPressIntegration – PSD to WordPress service provider, where he is responsible for writing custom JavaScript code during the conversion process. In his spare time, he writes on different topics related to JavaScript, WordPress, and Web Design to share his work experience with others. You can follow PSD to WordPress – WordPressintegration on Facebook