おでんはじめました。

required ちくわぶ and 巾着,optional はんぺん.

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のサイトへ保存する。

変更箇所はサイト名、ユーザー名、パスワード。

文字コードUTF-8など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が違ってないか確認など。