WordPressはXML-RPC対応で、地味に色々な対応プログラムが出ていますね。
XML-RPCのライブラリを使ってAPIをたたけば、たいていの操作はできますが、
お手軽に使うならライブラリを使いたいです。
PHPのライブラリでは、↓のものがシンプルにまとまっていて使いやすかったです。
http://sourceforge.jp/projects/wpapiclient1/
ただし、WordPress 2.9.2 + PHP5.3 で試したところ、
日付がおかしくなる(1999年11月になってしまう)問題が発生したため、以下のように修正しました。
wordpress/core/Util.class.php static function createDateTime($timestamp) { $timestamp = date('Ym\TH:i:s', $timestamp); //'c' を 'Ymd\TH:i:s' に置換する xmlrpc_set_type($timestamp, 'datetime'); return $timestamp; }
date()の結果の違いが原因です。
'c' → 20100510T10:00:00+09:00
'Ymd\TH:i:s' → 20100510T10:00:00
このように、「c」だとタイムゾーンを表す値が入ってしまいます。
date関数
しかし、XML-RPC で dateTime.iso8601 形式を使う場合、タイムゾーンの指定はできない仕様のため、不正な日時と見なされてしまうようです。
Ymd\TH:i:s のように手動で指定することで、正しいフォーマットに指定できますね。