【当ブログではアフィリエイト広告を利用しています】

[CodeIgniter] XMLRPCでWordPressへ投稿する

attention この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。

WordPressは「XMLRPC」という機能を使って、外部からリモート投稿することができます。
[設定]-[投稿設定]の下記にチェックを入れると有効になります。

それでは、「CodeIgniter」でプログラムを書いてみます。
※下記コードは「CodeIgniter」のある程度の知識が必要です。

$this->load->library('xmlrpc');
$this->xmlrpc->server('http://WordPressのURL/xmlrpc.php');


//事前に認証確認をして「Blog_id」を取得する
$this->xmlrpc->method('wp.getUsersBlogs');
$this->xmlrpc->request(array('ユーザ名', 'パスワード'));
if ( ! $this->xmlrpc->send_request())
{
	echo $this->xmlrpc->display_error();
} else {
	echo "WordPress認証OK";
	$blog_info = $this->xmlrpc->display_response();
}


//記事の投稿
$this->xmlrpc->method('metaWeblog.newPost');
$thePost = array(
			array(
			'title' => array('記事タイトル','string'),
			'description' => array('記事本文','string'),
			'categories' => array(array('カテゴリ'),'struct'),
			'post_type' => array('post','string'),
			), 'struct');
$post_data = array(
	$blog_info[0]['blogid'],	//取得した「Blog_id」
	'ユーザ名',
	'パスワード',
	 $thePost,
	false				//下書き
);
$this->xmlrpc->request($post_data);
if ( ! $this->xmlrpc->send_request())
{
	echo $this->xmlrpc->display_error();
} else {
	$post_id = $this->xmlrpc->display_response();
	echo "投稿OK:[$post_id]";
}

こんな感じでWordPressへ投稿ができました。
カスタムフィールドやキーワード設定など、その他の投稿設定も「$thePost」へ項目を追加することで対応できるようです。
詳しくは下記をご覧ください。
[WordPress] XML-RPC MetaWeblog API

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。