I’ve seen a lot of conversations over the past two months regarding WordPress’ built-in XML-RPC functionality. What most of you might not know is that you can write to, read, and administer a WordPress site from anywhere. There are iPhone applications for creating and revising content. There are desktop applications for moderating comments. There are aggregation services that can remotely publish a Twitter feed directly to your site.
The uses of a public application programming interface for WordPress are endless, so the development team has included a specific type of API in the platform to make our lives easier. XML-RPC is a system that allows you to send messages to a website (like WordPress) and receive messages in return. Messages in this case are formatted as XML and sent to your site using HTTP. Your site reads the XML, interprets the message, and allows functions and processes within WordPress to fire in response.
Unfortunately, WordPress’ XML-RPC interface isn’t that well-documented. When I was first learning how to use the API, this was insanely frustrating. The API actually includes method calls and names from 5 different APIs – WordPress, Blogger, MetaWeblog, MoveableType, and a separate PingBack API. In addition, you can extend XML-RPC support for plug-ins and themes to provide additional access points, added functionality, and a deeper user experience.
My Elliot Server system, for example, adds a way for plug-ins to communicate error information back to their original developers. This isn’t a blogging extension, but allows those of us who work to extend WordPress to monitor the health of the systems we distribute and proactively work to fix problems and add features.
Over the next several weeks, I plan to bring you a comprehensive guide to the various APIs supported by WordPress core. This will allow you to get your feet wet in XML-RPC development … and will get many of you started on building your own extensions to the API. The more developed the system, the richer feature set we have available in the future.
Next week, I’ll present a brief overview of the API framework – demonstrating how PHP functions are called by the XML-RPC library in response to POSTed XML requests. Once you have the basics down, we’ll walk through the 5 available APIs in turn, describing all of the available methods and presenting a few quick use-case tutorials.