When it comes to WordPress and Application Programming Interfaces (APIs), the WordPress REST API is usually what comes to mind. However, the platform actually has many other APIs that could help with your projects. APIs essentially let you easily work with all of the cool stuff that WordPress offers. In this piece, we’ll look at some of the more pertinent WordPress APIs available, and discuss why (and how) you should use them.
A brief introduction to APIs (and how they’re used in WordPress)
OK, so if you’re not familiar with an API, let’s fill you in. It’s essentially a way for WordPress to provide “endpoints” that allow developers to make the different bits of WordPress interact. In other words, consider them a matchmaker between you and the part of WordPress you want to use.
In one of her Lynda courses, Carrie Dils explains APIs in even clearer terms, especially as they pertain to WordPress. We’ll get onto this in more detail later, but you’ll usually use “hooks” to talk to and code for different parts of WordPress, via an API. It’s often a seamless and easy-to-use system.
The WordPress REST API: One hell of a drug
Before we get into some of the more indispensable APIs, we should talk about one we’ve already mentioned — the REST API. This was (and still is) a big deal when it first went live, and for good reason.
While we won’t go into the ins and outs of what a REST API does here, you can consider it a gateway drug to other coding languages and platforms. In a nutshell, it enables you to feasibly use WordPress as a database engine to sort content, while creating a front end in something else entirely. It’s this “headless CMS” concept that lots of developers are going crazy over.
A beginner developer’s guide to WordPress APIs
We’re going to look at three APIs included in WordPress we think are essential when creating your themes and plugins. Of course, your opinion may differ, so we encourage you to look at the entire collection, use them, and decide what’s important to you.
Theme Customization API.
Let’s take an indepth look at these three essential APIs you’ll want to use when creating plugins and themes.
1. Plugin API
This API is a great starting point for every WordPress developer, mainly because it introduces key concepts when developing for the platform.
By looking at the documentation, you’ll quickly see how the hooks we introduced earlier are used. In a nutshell, here’s the difference between the two different types of hook:
- Actions: These give you the means to add code to WordPress, such as custom footer functionality. They also enable you to remove code.
- Filters: These are related to actions, in that they can only be associated with a corresponding action. As such, they can only modify existing code.
Adam Brown created a comprehensive hooks database for WordPress, which is great if you need a reference guide while creating your solutions.
Of course, the Plugin API has hooks and functions specific to using plugins — the activation, deactivation and uninstallation hooks. You’ll see similar distinct functionality in other APIs too.
Moving on, the Theme Customization API is, unsurprisingly, focused on adding options to customize your theme.
You’ll do this via two hooks that enable you to change the available settings under the Appearance > Customize screen within WordPress: customize_register and wp_head. The former lets you define panels, sections, settings and controls, while the latter lets you display those additions correctly on the front end.
There’s much more to this, of course, most notably being able to create a Live Preview of the changes a user makes. However, as you’ll see from the documentation, there’s little to get to grips with when providing customization to your users.
The Shortcode API lets you create shortcodes, plain and simple. Using the API also lets you add parameters to a shortcode (for example, [gallery id=”123″ size=”medium”]), making it a very powerful way of adding functionality in WordPress.
While the API is much more complex than what we have time to cover in this overview, you’ll usually need two elements to create a shortcode:
- A function that performs an action, created as you normally would with PHP.
- The add_shortcode hook.
You can also choose to pass three parameters to the shortcode callback function ($atts, $content, and $tag). While discussing these is a bit beyond the scope of this article, they basically let you parse content, perform actions on it, and set a unique shortcode name.
Working with WordPress often means working with APIs. Fortunately, the platform places several of them at your fingertips. In a sense, they’re the driving force behind the platform, giving you access to powerful features, while still working in the programming languages and systems with which you’re already familiar.
This keeps the entire platform secure and stable, and means you can add new useable functionality in a snap. Of course, the REST API has been big news for a few years now. It’s going to be a cornerstone of programming for WordPress, so learning it intimately (not in that way) will benefit you in the long run.