WP REST APIのメモ

かけこみになりましたが、WP REST APIを触ってみました。

チュートリアル的なものはググればたくさん出てくるのと、迂闊なこと書いたら怖いので省略して、例によって僕が躓いたところをメモ。

プラグイン

WP REST APIは4.7から正式にマージされるそうで、今の時点ではプラグインとして別途追加しなければならないのですが、そのプラグイン名を「WP REST API」だと思っていて、検索してそのまま入れると動きませんでした。

現在はバージョン2となっていて、プラグイン名は「WordPress REST API (Version 2)」でした。恥ずかしい…

パーマリンクのこと

プラグインを入れて、サイトURLに「/wp-json/wp/v2/」をくっつけてブラウザに直に入力し、JSONデータが取れるかを最初に見るのですが、僕の場合すぐには返ってきませんでした。ググってみたらパーマリンク設定がデフォルトのままだと動かない、とのこと。

適当なものに変更すると無事動きました。

アイキャッチ画像の呼び出し

記事一覧をもってくる記述は以下のように書きますが、これだと返ってくるJSONデータにアイキャッチ画像などの添付情報がありません。

サイトURL/wp-json/wp/v2/posts

添付情報も併せて取得するには、パラメータに「_embed」を付与します。

サイトURL/wp-json/wp/v2/posts?_embed

そうすると返りのJSONデータのオブジェクトに「_embedded」という要素が追加され、その中に記事に紐付いたデータの情報が入ってます。

アイキャッチ画像のURLはこんな感じに格納されていました。

_embedded[“wp:featuredmedia”][0].media_details.sizes.thumbnail.source_url

僕はWP REST APIで取得したデータをriot.jsで展開して表示するというのを作ってみたのですが、階層の深い情報をどのようにスマートにriot側に渡したらよいかがわからず、{}の中に上記をぶっこんで表示しています…

ソースを見ても笑わないでやってください。