WordPress には REST API という仕組みがバージョン 4.7 から備え付けられています。これは開発者が WordPress に外部からアクセスするための仕組みと覚えておくと良いでしょう。ですので、開発を行わない人にはあまり馴染みのない言葉かもしれません。
REST API とは
以下の単語を略して命名されています。
- Representational:「表現の」「具象的な」「描写的な」
- State:状態
- Transfer:移動させる
そして、API という言葉は聞くことが多いと思いますが、
- Application
- Programming
- Interface
簡単にいうと、あるアプリケーションと別のアプリケーションとを繋ぐプログラムのかたまりみたいなものです。
それほど難しく考える必要はありませんが、こんなようなものだと覚えておきましょう。
REST API へのアクセス方法
それではブラウザで REST API へアクセスするための URL をメモしておきます。各自アクセスするドメインに置き換えて試してみましょう。(無許可で REST API にアクセスするのはお勧めできないので、自身で管理している WordPress ウェブサイトで試してみてくださいね)
投稿情報を得る
https://hoge.com/wp-json/wp/v2/posts
固定ページ情報を得る
https://hoge.com/wp-json/wp/v2/pages
メディア情報を得る
https://hoge.com/wp-json/wp/v2/media
カテゴリー情報を得る
https://hoge.com/wp-json/wp/v2/categories
タグ情報を得る
https://hoge.com/wp-json/wp/v2/tags
コメント情報を得る
https://hoge.com/wp-json/wp/v2/comments
ユーザー情報を得る
https://hoge.com/wp-json/wp/v2/users
投稿タイプ情報を得る
https://hoge.com/wp-json/wp/v2/types
タクソノミー情報を得る
https://hoge.com/wp-json/wp/v2/taxonomies
特定のカスタム投稿タイプの情報を得る
カスタム投稿タイプ news の場合
https://hoge.com/wp-json/wp/v2/news
カスタムタクソノミーも同様に情報を得ることができます。
フィルタークエリ
フィルタークエリとは、API から取得するデータを条件で絞り込むためのパラメータです。
上で扱った投稿情報を得るURLをサンプルにして紹介します。
1ページあたりの取得件数
10件表示させる場合のサンプル。上限は 100 です。
https://hoge.com/wp-json/wp/v2/posts?per_page=10
ページ番号
ページ番号を指定するサンプル。例は2ページ目を表示。
https://hoge.com/wp-json/wp/v2/posts?per_page=10&page=2
ソートキー
並び替える際に基準とする情報を指定します。
https://hoge.com/wp-json/wp/v2/posts?orderby=title
昇順・降順
昇順 ascか降順 descかを指定できます。
https://hoge.com/wp-json/wp/v2/posts?order=asc
カテゴリーID
カテゴリーIDで絞り込みます。サンプルはカテゴリーIDが 3 の場合。
https://hoge.com/wp-json/wp/v2/posts?categories=3
タグID
タグIDで絞り込みます。サンプルはタグIDが 6 の場合。
https://hoge.com/wp-json/wp/v2/posts?tags=6
スラッグ
スラッグで絞り込みます。サンプルはスラッグが hello-world の場合。
https://hoge.com/wp-json/wp/v2/posts?slug=hello-world
関連情報
アイキャッチ画像など関連情報を含むかどうかを指定できる。
https://hoge.com/wp-json/wp/v2/posts?_embed
まとめ
受託開発で REST API 経由で関連メディアから情報を取得し、まとめて表示するというケースがありました。
久しぶりに REST API を叩いたのですが、これらの基本的なことがパッと出てこなかったので、自分用メモとして残しておくことにします。
WordPress ではデフォルトで Feed(RSS)を出力しているので、そちらをつかって情報を取得する方法もあるのですが、基本的に Feed ではアイキャッチ画像は配信されないので、テキストでの情報収集が基本となります。(発信側の調整をすることで Feed にアイキャッチ画像を追加することはできます)
ですので、アイキャッチ画像も簡単に取得できる REST API は便利な側面もあります。詳しくは REST API Handbook をチェックしてみましょう!














