This weekend I'll be presenting on "Isomorphic WordPress Applications using NodeifyWP". I'll also be discussing the NodeifyWP Environment – a Dockerized environment pre-setup for running NodeifyWP applications.
Tag Archives: JSON REST API
NodeifyWP and Twenty Sixteen React Debut at WordCamp Denpasar
Today, I am speaking at the inaugural WordCamp Denpasar. I will be giving a talk on NodeifyWP and Twenty Sixteen React, giving the debut demo of the framework.
NodeifyWP is a framework, created by 10up, for creating isomorphic JavaScript applications within PHP and WordPress. Twenty Sixteen React is an example theme using the framework along with React.js and Redux.
Here are the slides for my talk:
JSON REST API Subscriptions Plugin
This week I released the JSON REST API Subscriptions plugin for WordPress. The plugin requires the JSON REST API plugin.
The JSON REST API plugin creates endpoints like so
yoursite.com/wp-json/wp/v2/posts
yoursite.com/wp-json/wp/v2/posts/253
yoursite.com/wp-json/wp/v2/pages
yoursite.com/wp-json/wp/v2/pages/987
...
Obviously the /posts endpoint returns all posts and the posts/253 returns the post with ID 253.
The JSON REST API Subscriptions plugin adds webhooks style subscriptions to those endpoints like so:
yoursite.com/wp-json/wp/v2/posts/subscriptions
yoursite.com/wp-json/wp/v2/posts/253/subscriptions
yoursite.com/wp-json/wp/v2/pages/subscriptions
yoursite.com/wp-json/wp/v2/pages/987/subscriptions
By sending an HTTP request to yoursite.com/wp-json/wp/v2/posts/subscriptions like so:
{
"target": "http://notifyurl.com"
"events": ["create", "update", "delete"]
}
http://notifyurl.com would be sent a notification HTTP request every time a post is created, updated, or deleted. All subscription routes, requests, and notifications are explained in detail on Github.
Using this plugin gives websites digesting your content an alternative to parsing feeds.
Custom Contact Forms Redux
In 2009-2010 Custom Contact Forms was one of the first WordPress plugins I wrote. The purpose of the plugin was to solve a simple problem: easy contact form building on the web.
As I was building the plugin, WordPress 3.0 had not yet been released, and therefore custom post types and other useful API’s did not yet exist. I wrote the plugin the best I could using custom database tables (ouch!). The plugin become decently popular. I continued development on the plugin for the next year or so. In the process I learned a lot about writing code for WordPress. Also in the process I landed a job at 10up where I learned (and continue to learn) more than I ever thought I would.
Years later in 2015, here I am an experienced WordPress developer and an avid open source contributor. I have used most of the popular WordPress form plugins: Gravity Forms, Ninja Forms, Formidable, etc. Using all these plugins, despite lots of great functionality, have left me with the nagging feeling that something is missing.
That something was the WordPress experience. With the release of the media manager in WordPress 3.5, we have all grown accustomed to a high quality media management experience through smooth JavaScript interactions. Form management should be no different; they should be built within a media manager-esque modal, no page reloads should be necessary, and we should get live previews of what we are building. Simple task right? 8 months later… 🙂
Detailed installation and usage instructions are on Github. Download the plugin from WordPress.org
For Users
Within the post edit screen, a simple “Add Form” button next to the “Add Media” button brings up the form manager modal:
Within the form management modal, you can also see your existing forms and edit them if you choose:
After inserting a form into a post, you see a nice preview within TinyMCE:
While the meat of the plugin lies within the form manager, single form views exist. Within a single form view you can see a live form preview:
Also within the single form view lives the form submissions table. You can easily paginate through results and add/remove columns as you please:
For Developers
Most of the plugin is written in JavaScript. Custom Backbone views, models, and collections are written to emulate and display forms and fields. The plugin is extremely extensible. You can easily hook in to modify existing fields and views as well as create your own.
The plugin includes the new JSON REST API for WordPress. Right now, it is included as a Composer dependency for various reasons until the API is added to WordPress core.
Note: While the plugin is suitable for production environments, version 6 is still somewhat in beta. Please let me know on Github if you experience any problems.
JSON REST API for WordPress at the DC API User Group
Today I am presenting on the JSON REST API for WordPress at the DC API User Group. This is a shorter talk geared at both developers and API users with or without WordPress experience.
With core integration coming in the near future, it’s important for developers of ALL backgrounds to understand it will be available on ~23% of the websites on the internet. Here are the slides for my talk:
WP API at WordCamp Boston 2014
This weekend I am presenting at WordCamp Boston 2014. My talk is on the JSON REST API for WordPress. I will be explaining what the API does, how to use some of it’s endpoints, and showing an interesting use case.
A WordPress Starter Theme Based on JSON REST API’s Backbone Client
The past few months I’ve had the opportunity to work on the new JSON REST API for WordPres. My biggest contribution as a WP API team member has been the Backbone client.
The JSON REST API’s Backbone client let’s you interact with a WordPress installation using Backbone.js collections and models. The client is an extremely useful tool in creating reactive web applications (which seems to be where the web is heading).
As a proof of concept, I created a WordPress starter theme based on Automattic’s _s named _s_backbone. Loops (or post streams) in _s_backbone are driven by Backbone.js collections. This means that posts are grabbed on the fly without a page reload. Pagination is accomplished through a “more” button which, again, does not require a page reload. This is commonly referred to as “infinite scroll”.
Please download _s_backbone from Github. Any feedback is appreciated.
Edit: Check out the WP Tavern article on _s_backbone.
A WordPress Starter Theme Based on JSON REST API's Backbone Client
<![CDATA[
The past few months I’ve had the opportunity to work on the new JSON REST API for WordPres. My biggest contribution as a WP API team member has been the Backbone client.
The JSON REST API’s Backbone client let’s you interact with a WordPress installation using Backbone.js collections and models. The client is an extremely useful tool in creating reactive web applications (which seems to be where the web is heading).
As a proof of concept, I created a WordPress starter theme based on Automattic’s _s named _s_backbone. Loops (or post streams) in _s_backbone are driven by Backbone.js collections. This means that posts are grabbed on the fly without a page reload. Pagination is accomplished through a “more” button which, again, does not require a page reload. This is commonly referred to as “infinite scroll”.
Please download _s_backbone from Github. Any feedback is appreciated.
Edit: Check out the WP Tavern article on _s_backbone.
]]>