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 と連携するときなどに重宝しそうです。