Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

カスタムフィールドの情報をWordPress REST APIで取得

More than 1 year has passed since last update.

カスタムフィールド作成

カスタムフィールドを作成する方法は以下の3つ

  • 既存機能を使う
  • functions.phpに書く
  • プラグインを使う

少し調べて試してみた結果、WordPress REST APIでカスタムフィールドを扱えてかつ難易度が低いものは「プラグインを使う」方法かなと思います。
というわけで今回はAdvanced Custom Fieldsというプラグインを使ってのカスタムフィールドの作り、その情報をACF to REST APIというプラグインを使いAPIで取得できるようにしていきます。

Advanced Custom Fields

デフォルトでもカスタムフィールドを作成できますが、Advanced Custom Fields(ACF)を使うと簡単にカスタムフィールドを作成することができるだけでなく、複雑な要件を満たすことも可能になるそうです。
Advanced Custom Fields

使い方

プラグインをインストールすると左メニューに「カスタムフィールド」ができます。
ここから「新規追加」をクリックします。
左メニュー

そうすると「フィールドグループ」と言うものが作成できます。
上部の「タイトルを追加」部分にフィールドグループの名前を付けましょう。
そしてその下の「フィールドを追加」ボタンをクリックしフィールドを作成します。
フィールドを追加

フィールドは色々設定がありますが、最低限「フィールドラベル」「フィールド名」「フィールドタイプ」を入力します。
フィールドを作成したら位置を設定します。これを設定することでどこでこのカスタムフィールドを表示するかを決定します。
位置

設定できたら投稿画面を見てみましょう。
作成したカスタムフィールドが表示されているはずです。

投稿

ACF to REST API

ACFで追加したカスタムフィールドはデフォルトでは取得出来ません。
(そもそもWordPress REST APIはデフォルトではカスタムフィールドのデータを取得できない。)
これを取得するために、ACF to REST APIというプラグインを導入します。
ACF to REST API

これを入れると投稿取得のAPIで

  "acf": {
    "test1": "xxxx"
  }

acfという項目が追加されます。

まとめ

Advanced Custom FieldsとACF to REST APIプラグインを導入して、カスタムフィールドの情報をWordPress REST APIで取得できるようにしました。
既存のWordPressソースをいじることなく簡単にできるのでおすすめです。

gungungggun
僕はゴリゴリのプログラマーになりたいわけじゃない。 働きたくない、めんどくさい、だからプログラム組んで楽しようって思っただけなんだ。 そしたら楽になるどころか、いつのまにか、つまんねぇ開発ばっかりさせられてたんだ。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away