Every time I look through the beta of WordPress 3.1, I find something new. Today I found the WP_HTTP_IXR_Client. The IXR_Client was there in previous versions, but it didn’t use the WordPress HTTP API, and so it rarely worked for me. This wrapper/rework of it works like a charm. Some quick examples:
Testing the client to see if it can talk to another blog:
$client = new WP_HTTP_IXR_Client('http://example.com/xmlrpc.php'); $client->query('demo.sayHello'); echo $client->getResponse();
That will print “Hello!” if it succeeded.
Testing something with parameters, like adding two numbers:
$client = new WP_HTTP_IXR_Client('http://example.com/xmlrpc.php'); $client->query('demo.addTwoNumbers', 4, 5); echo $client->getResponse();
That will produce an output of 9… Okay, let’s do something meaningful.
$client = new WP_HTTP_IXR_Client('http://example.com/xmlrpc.php'); $client->query('wp.getOptions', 0, 'username', 'password', 'software_version'); $response = $client->getResponse(); echo $response['software_version']['value'];
It returns what version of WordPress I’m running on that test site. In this case, that would be 3.1-beta2-17056.
Take a look through the class-wp-xmlrpc-server.php file for the various things you can do. Maybe you can think of some handy ways to make your blogs talk to each other. 🙂