xmlrpc への投稿方法です。今回は file_get_contents を利用します。
PEAR や フレームワーク CodeIgniter を用いる方法も便利ですが、特別なライブラリを使用しないで素の PHP でも実行可能です。
$content = array(
'title' => '記事のタイトル',
'description' => '本文'
);
$request = xmlrpc_encode_request("metaWeblog.newPost", array('1', 'ユーザー', 'パスワード',$content,TRUE));
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));
$file = file_get_contents("xmlrpcの URL", false, $context);
file_get_contents の引数に、コンテキストを追加することで、xmlrpc へ投稿することができます。xmlrpc 自体が、HTTP プロトコルで XML データを送信する、というシンプルな作りなので、プログラム自体もシンプルですね。
投稿に成功した場合、以下のように、投稿ID を含む XML レスポンスが返ってきます。
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<string>投稿ID</string>
</value>
</param>
</params>
</methodResponse>
外部から WordPress へ投稿する場合には xmlrpc は便利ですね。例えば、EC-Cube や Magento 等のネットショップ構築用 CMS と連携するときなどに重宝しそうです。