WordPress に web API インターフェースを追加するプラグインを使ってみた。
WordPressのカテゴリ一覧ページでは、デフォルトで10件づつ表示してページネーションを使う方法が一般的だ。このほどクライアントより、一覧の下に「もっと見る」のようなリンクを用意して、クリックされると同一ページの下にバックナンバーのタイトル一覧を表示して欲しいとの要望があった。
1ページに表示する件数をquery_posts()で増やして、JavaScriptでバックナンバーの部分を表示・非表示すればよいかとも思ったものの、初期表示に時間がかかってしまうし、「もっと見る」がクリックされない場合は無駄だ。Ajaxでタイトルを10件づつ取得して、順に表示できればよいな、と思い投稿データをWeb API的に取得できないものかと調べた。そこで見つけたのが「Wordpress に web API インターフェースを追加するプラグイン」である。
プラグインを追加するとAPI キーを設定することができる。このAPIキーと、アクション(関数)に割り当てたキーとの組み合わせによって、認証を行うようになっている。認証がOKだとアクション名のショートコードが生成、実行されるようだ。アクションはサンプルがいくつか用意されているので、参考にしながら自分で追加することができる。jsonやXMLでのレスポンスが可能だ。
このインタフェースを利用して作成したWeb APIをJavaScriptから呼ぶには、ブログのURL、アクション、APIキー+アクションのキーをAjaxでPOSTする。アクションに関するパラメータを追加することもできる。
思ってたとおりのものができた!