WP REST API v2を利用し、カスタム投稿タイプの記事をカスタムタクソノミーでフィルタリングして取得する

すこしだけハマったので、
メモ程度に書き残しておきます。
案外日本語で書かれている方も少なかったようなので。

細かいところはドキュメントをどうぞ
この記事では、ただタイトル通りのことを達成します。
REST API Handbook | WordPress Developer Resources

結論

Wordpress4.7からfilterパラメーターは削除されているので、
プラグインを利用してfilterパラメーターを利用できるようにする

プラグイン

github.com

手順

  1. 上記プラグインをインストールする
  2. APIを叩いて取得できることを確認する

APIのサンプル

以下は、 カスタム投稿タイプがbooks
カスタムタクソノミー名がcustom_category
カスタムタクソノミーcustom_cateogoryに設定されている分類がcomic
の記事を取得したい時のサンプルです。

/wp-json/wp/v2/books?filter[custom_category]=comic

カスタム投稿タイプを追加する際の注意点

カスタム投稿タイプを追加する際に気をつけておかないことがあります。
ここ忘れるとapi経由で取得できないのでご注意を。

register_post_type('カスタム投稿タイプの名前', [
    // (オプション中略)
    'show_in_rest' => true,
    'rest_base' => 'URLのベースとなる名前',
]);

show_in_restをtrueにしましょう

参考

WordPress REST API で、カスタム投稿タイプなどの情報を取得する | Tips Note by TAM

まとめ

WordpressもHeadlessに利用して、快適なエンジニア生活を楽しみましょう。