category

WordPress REST APIのGETエンドポイント

WordPress REST APIはWordPress 本体に統合され、デフォルトで有効になっているWebAPI機能です。
現時点ではAPIバージョン2の仕様にそって実装されており、エンドポイントは/wp-json/wp/v2/以下にあります(リファレンス参照)。

たとえばブラウザで /wp-json/wp/v2/posts に直接アクセスすると、記事一覧のJSONを取得できます。

カスタム投稿タイプのAPI

WordPress標準機能のカスタム投稿タイプを活用することで、各サイト独自のデータ構造を定義し、REST APIからも利用できます。

これは、Pods frameworkなどのカスタム投稿タイプを定義できる管理プラグインを利用して定義したものでも同様です。
Podsは、カスタムオブジェクトにアクセスできるよう独自のPHP関数も提供していますが、継続性に難のある面もあるため、極力WordPress標準のインターフェースを利用した方が安全です。

カスタム投稿タイプも標準のpostと似た様式で、たとえばbookオブジェクトであればGET /wp-json/wp/v2/bookでオブジェクト一覧を取得できます。

また、GET /wp-json/wp/v2/book/333のようにidをつけると個別の記事を返します。ただし、このidはWordPressの記事ID(?p=333の形式のパラメータ)であり、URLで利用しているキーと同じでない場合があります。

URLパラメータで指定したい場合は、GET /wp-json/wp/v2/book?slug=333のようにGETパラメーターのslugキーに指定できます。