WordPress.org Has Fewer Than 20 Plugins Using the WP REST API in Core

Plugin Recommendations Featured Image
photo credit: when i was a birdcc

During yesterday’s pivotal WP REST API meeting, WordPress contributors discussed adoption of the API. A cursory search of the WordPress.org plugin directory shows that fewer than two dozen plugins are currently using the API scaffolding included in WordPress 4.4. For reference, here are the 20 plugins identified by Mika Epstein during the meeting, along with active installation numbers for each:

With a few notable exceptions, most of these plugins are hovering around a range of 10 – 100 active installs. These low numbers may indicate that plugin authors have not yet readily embraced building with the scaffolding that was merged into core in 4.4. However, some developers who have embraced building with the API have opted not to offer their plugins and themes for large scale distribution on WordPress.org.

“I think the plugin directory is the wrong place to look for adoption,” WordPress developer Nate Wright said at the most recent meeting. “As a plugin author myself, I have to bend over backwards to ensure compatibility with tens of thousands of weird plugins and themes. Javascript itself is highly unstable in the ecosystem because of all the terrible code out there. I’ve used the API in client projects and am currently integrating it with some customizer tools I’m building. My publicly available plugins will be the last thing I’ll introduce to the API.”

Taylor Lovett, author of Custom Contact Forms, believes that it’s important to get REST API-powered plugins into the hands of users, despite the support challenges of public distribution.

“It pushes plugin and theme developers to start working around API JavaScript conflicts now,” Lovett said. “There are many plugins that conflict with the API for a variety of reasons, one of the big ones being modifying Backbone.sync. Having plugins use it now is painful but will push people to start reporting those JS conflicts.”

Custom Contact Forms is currently the most widely-used plugin running the WP REST API with more than 70,000 installations, but the journey to using the current version has been fraught with challenges.

“There have been a number of backwards compatibility breaks with the JSON REST API project,” Lovett said. “If I had known going into it what would happen, I probably would have not used the API.

“I am still not completely comfortable with using the API because of the perceived instability of the project,” he said.”

Nevertheless, public distribution has brought Lovett considerable feedback from users which has been invaluable for his contributions to the REST API project.

“I’ve had a number of patches to the API that were discovered through Custom Contact Forms,” he said. “I’ve discovered some real edge cases while maintaining the API across more than 70K installations.”

Distributing his plugin on WordPress.org while the API went through significant changes was more challenging than Lovett anticipated, but through it the API has gained more exposure.

“The faster the API is exposed to people and people get comfortable using it, the sooner we will see some major strides in applications being built around WordPress,” he said.

23 Comments


  1. We are building Postmatic 2 to leverage the REST api (for delivering comments from email), but it degrades to use admin-ajax if REST fails or is unavailable.

    It’s a hoop to jump through, but by taking a progressive approach we get plenty of flexibility and immediate gains. I look forward to the day that the install base for REST is strong enough that we can use it 100% of the time.

    Epoch 2 (for displaying and publishing comments from the web) is built completely on, and will require, REST. There is no looking back when it comes to loading comments via REST and displaying them with Angular. It’s fantastic.

    Report


    1. Out of curiosity (and as a complete non-techy user), what’s the benefits of plugins adopting REST? So, for me as a Postmatic and Epoch user, what will I see that’s markedly different to today’s experience?

      Report


      1. The benefits we’re most interested in are speed and reliability. Previous to REST most apps or services which interacted with WordPress did so over the ancient and insecure XML-RPC or would write their own API to hit admin-ajax.php.

        The former just isn’t reliable or secure. The later isn’t performant because it load WordPress each time you hit it. 

        As far as day-to-day from the user end of things you can expect to see faster comment loading in Epoch, as well as a much smaller overall plugin footprint as it won’t be adding our own custom API…

        Report


      2. Danny, I was wondering the same… thanks for the explanation Jason.

        Report


      3. Sure. I’m sure some of the other devs on this thread could explain other benefits, or do so more deeply. As a primarily front-end guy my grasp of the whole thing is shallow at best. I just do what the smarter people tell me :)

        Report


      4. Gotcha, thanks! So on the API front, would that mean less or more opps to work/integrate with other plugins? Or does that only mean other REST plugins, due to how the API works?

        And please excuse ignorance on this topic – it interests me immensely, I just don’t know what it means. :)

        Report


      5. Once we see widespread adoption there will be tons of opportunities for plugins and services to share data and leverage each others assets. For sure. Imagine someone leaving a comment and it generating 3 replies. Epoch would be able to pass that whole thread along to, say, Evernote. Easily. 

        Or you could make any comment which has received 4 upvotes automatically trigger a tweet….

        Interestingly cooperation between WordPress plugins isn’t technically difficult right now as most use native data storage (posts, comments, users, meta). So passing subscribers from, say, MailPoet to Postmatic (or the reverse) is already easy to do… it just has to be politically and/or economically agreeable. 

        Report


      6. The comment implementation sounds interesting. As someone who’s a bit passionate about comments still being one of the most valuable assets to bloggers, I’d love to see deeper integration with features there.

        Look forward to following this, cheers.

        Report


      7. As a non-techy user, you should continue to not really care that hard.

        We’re talking about tools that make it easier and faster to make better and shiner user-facing features.

        Report


  2. Also `application-passwords` and `hugh` use it and are both in the repo.

    Jetpack will use it in the 4.0 release in a couple months (missed 3.9 because of timing).

    Report


    1. I think they both landed there within the past day or so before they performed the check to see how many there were.

      Report


  3. Correction: this is not plugins using v2 of the REST API, but rather plugins using the core infrastructure merged in 4.4 (specifically, those using `register_rest_route`).

    Report


    1. Yah, it’s amazing that I built an entire UI system into Pods for managing custom fields in the REST API default routes and that didn’t even qualify as a “plugin using the REST API.”

      Report


  4. So tricky… IMO the best think to do is to wait for public usage of the API.
    I’m working all the days with distributing Telecom APIs for public or paid usages and believe me, you can not make any good development (that works in all the cases) based on those APIs until they are stable.
    In the case of the WP API the result for the users is that they’ll think that your plugin is so bugged… Just because of the WPREST API is not finalized… And as Nate Wright said.. You must keep compatability with previous releases if you are some….
    Not so good for business.

    It is like future CSS4 or 5…Nobody will use it in production as porting are more or less implemented on all browsers ..
    For the moment it is just for testing purposes…

    But in // we can all use them for mockups, just to be ready when the D Day will arrive…

    Report


  5. Envira Gallery’s Adobe Lightroom Addon that we launched last week utilizes the REST API

    http://enviragallery.com/introducing-adobe-lightroom-to-wordpress-with-envira-gallery/

    Although it’s a premium addon, the REST API was essential to allow users to create WordPress galleries straight from Adobe Lightroom and keep that in sync.

    I believe the low number of plugins in the repo is because devs are eagerly waiting to see what happens before putting all their eggs in a project.

    I honestly wish that the REST API was here even earlier so we didn’t have to build a custom API for our OptinMonster SaaS which is powered by WordPress.

    Report


    1. Anything else you want to shamelessly promote while you’re here?

      Report


      1. Hey Ron,

        I don’t see how your comment is necessary or helpful here. Syed contributed to this conversation to point out a very cool integration that would never have been economically feasible without REST. Keeping Lightroom galleries in sync with WordPress galleries? Are you kidding? That’s insane and a perfect example of leveraging REST to bring more and more people into the WordPress fold. Sure, both Envira and OptinMonster are premium plugins. But they are part of the WordPress ecosystem nonetheless. 

        Report


  6. I think Pods Framework qualify as REST-API enabled, as well, since they support rest-api in their core since version 2.6 (and with plugin before that)

    Don’t you agree?

    Report


  7. I think that the API is, for the moment at least, more likely to be used for custom work rather than mainstream plugins. It’s the nature of the beast.

    Being incomplete, the REST API isn’t really ready for prime time yet, and potentially is a bit of a moving target. Development today is potentially tomorrow’s support nightmare if any of the functionality changes. Most people who have developed against this sort of new tool expect it, and the smart ones generally stay away until it’s a couple of version up the road.

    IMHO, REST API should have remained as an optional plug in rather than being part of the core, at least until it is completed and fully functional. Jamming it in there now is just not in the best interests of the core right now.

    Report


  8. It’s one of those newer WordPress things which I keep forgetting what they actually are/ do. Maybe it’s just not something day to day users are very aware of, or find important to include.

    Report

Comments are closed.