CHECKING STATUS
I AM LISTENING TO
|

Headless WordPress with the HTTP REST API 2.0+

19. November 2015
.SHARE

Table of Contents

easily build out your own REST API or use the long available HTTP REST API 1.0+ for WordPress.

But with the new HTTP REST API 2.0+ its getting really easy to build out your own REST API Namespace and assign routes for all your JSON needs.

The new REST API will make its appearance in WordPress 4.4, but you can start now by adding the plugin to your system. When the plugin detects 4.4+ it will only load functionality not already present in the core.

A ROUTE

A route tells the API to respond to a given request with a specific function (endpoint). This adds the permalink structure to WordPress so that your functionality can be accessed via an url like this: http://yourdoman.com/wp-json/yourplugin/v1/myfunction/your_parameter 

add_action( 'rest_api_init', function () {
    register_rest_route( 'your_namespace/v1', '/your_endpoint/(?P<your_parameter>\d+)', array(
        'methods' => 'GET',
        'callback' => 'your_endpoint',
    ) );
} );

THE ENDPOINT

The Endpoint is the callback handled by the route. Each endpoint can have additional parameters attached:

  1. custom permissions
  2. default values
  3. sanitization callback
  4. validation callback
  5. field requirements and more

RETURN VALUE

The return values from the endpoint are converted into JSON. You can use the WP_REST_Response object , this wraps normal body data and allows you to return a custom status code.

function your_endpoint( $data ) {
    $posts = get_posts( array(
         'author' => $data['your_parameter'],
    ) );

    if ( empty( $posts ) ) {
        return new WP_Error( 'your_endpoint_no_data', 'No Data', array( 'status' => 404 ) );
    }

    return new WP_REST_Response( $posts, 200 );
}

Really powerful stuff, that makes it easy to detach WordPress and the actual client using the data provided by it.

You can read more about it here.

Enjoy coding …

Let’s Talk!

Looking for a reliable partner to bring your project to the next level? Whether it’s development, design, security, or ongoing support—I’d love to chat and see how I can help.

Get in touch,
and let’s create something amazing together!

RELATED POSTS

Let’s cut through the noise: FAQ schema isn’t dead. But if you’re still using it the same way you did in 2022, you’re kinda missing the entire point of why it matters now. Google dropped a bombshell back in August 2023 when they restricted FAQ rich results to only government and health websites. So yeah, […]

So you’re paying for Adobe Creative Cloud just to use a few web fonts? Yeah, I’ve been there. Adobe Fonts (formerly Typekit) is great and all, but let’s be real: not everyone wants to shell out for a subscription just to load some pretty typography on their website. Plus, there’s that whole GDPR thing where […]

This is my own task / project / workflow solution fully integrated into WordPress, which I began developing in 2025. After the recent cloud outages—and following a significant investment in the Asana ecosystem—I decided to build a robust, self-hosted WordPress solution featuring an almost complete Asana Sync API integration. I don’t have plans to make […]

Alexander

I am a full-stack developer. My expertise include:

  • Server, Network and Hosting Environments
  • Data Modeling / Import / Export
  • Business Logic
  • API Layer / Action layer / MVC
  • User Interfaces
  • User Experience
  • Understand what the customer and the business needs


I have a deep passion for programming, design, and server architecture—each of these fuels my creativity, and I wouldn’t feel complete without them.

With a broad range of interests, I’m always exploring new technologies and expanding my knowledge wherever needed. The tech world evolves rapidly, and I love staying ahead by embracing the latest innovations.

Beyond technology, I value peace and surround myself with like-minded individuals.

I firmly believe in the principle: Help others, and help will find its way back to you when you need it.