WordPressの投稿をJSON形式で受け取る
XMLRPCを使って最近の投稿をJSON形式で受け取るまで。
XMLRPCのライブラリーをWordPressにコピーする
下記からIXR_Library.phpをダウンロードして自分のWordPressのサイトへコピーする。
http://scripts.incutio.com/xmlrpc/ The Incutio XML-RPC Library for PHP
(ページの上にある「Download the Library」をクリック)
投稿をJSONで受け取るPHPを書く
下記をgetposts.phpとしてWordPressのサイトへ保存する。
変更箇所はサイト名、ユーザー名、パスワード。
<?php // inctioのライブラリ呼び出し include_once('IXR_Library.php'); $wp_username = 'admin'; $wp_password = 'admin'; $siteurl = 'http://sample.jp/'; $filter = array( 'number' => 10, //最近の10件取得 'offset' => 0, ); $client = new IXR_Client( $siteurl . 'xmlrpc.php' ); $status = $client->query( "wp.getPosts", //POSTを取得する 1, // blog ID: 通常は1、マルチサイト時変更 $wp_username, // ユーザー名 $wp_password, // パスワード $filter ); $posts = $client->getResponse(); //arrayで戻ってくる echo json_encode( $posts ); //JSONで返す
確認する
http://sample.jp/getposts.phpへアクセスしてJSONが戻ってくればOK。
うまくいかない時
ブラウザで表示が真っ白の時はphpの構文が違ってる可能性があるのでphp -l getposts.phpで構文チェックするとか。
IXR_Library.phpのエラー内容がわかりづらい。ユーザー名とパスワードが違ってないか、new IXR_Clientで渡すURLが違ってないか確認など。