XML-RPC WordPressへの投稿でカテゴリーを指定する

XML-RPCを使ってWordPressへ投稿する方法はわかりました。
※「XML-RPCを使ってWordPressへ投稿する」参照

この方法だと、投稿されるカテゴリーはWordPressの管理画面で設定されているデフォルトのカテゴリーへの投稿となります。
そこで、今回はカテゴリーを指定する方法を紹介します。

やっぱり一目瞭然でわかるので、サンプルです。

XML-RPCを利用したWordPressへの投稿とカテゴリー指定するサンプル

includeで指定している、IXR_Library.phpファイルの入手方法は、
XML-RPCを使ってWordPressへ投稿する」を参照してください。

< ?php
/*
* XML-RPC接続テスト
*/
include_once('IXR_Library.php');

$site_url = 'http://hogehoge.com';
$userid = '[wordpressのID]';
$userpw = '[wordpressのPassword]';

//wordpressのxmlrpc.phpがある場所を指定
$base_uri = $site_url . '/xmlrpc.php';

//接続パラメータ
$encoding = 'UTF-8';
$method = 'metaWeblog.newPost';

$title = 'タイトル・タイトル・タイトル';
$description = '本文・本文・本文' . "\n" . 'あいうえお';
//実際に送るデータ
$params = array(
	1,
	$userid,
	$userpw,
	array(
	'title' => $title,
	'description' => $description,
	'dateCreated' => '',
	),
	0,   //0:草案 1:公開
);

// XML-RPC通信をする
$client = new IXR_Client($base_uri);
$return = $client->query($method, $params);
if ( !$return ) {
	echo $client->getErrorCode() . ':' . $client->getErrorMessage() . '\n';
	exit();
} 

$postid = $client->getResponse();    //PostIDの取得

//カテゴリ変更
$method = 'mt.setPostCategories';
$categories = array("categoryId"=>"3");    //変更後のカテゴリID

//実際に送るデータ
$params = array(
	$postid,
	$userid,
	$userpw,
	$categories
	);

// XML-RPC通信をする
$client = new IXR_Client($base_uri);
$return = $client->query($method, $params);
if ( !$return ) {
	echo $client->getErrorCode() . ':' . $client->getErrorMessage() . '\n';
	exit();
} 

?>

とっても簡単でした。

WordPressへ投稿実行すると、PostIDが取得できるので、そのPostIDを使ってカテゴリーを指定してやればOKとなります。

参考資料
Movable Type で使える XML-RPC API

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です