注文住宅の新築平屋家づくり雑記ブログ「ハイクロノート」 -30代夫婦の家づくりや生活のこと-

家づくりやペット、生活のことなどをつらつらを書いていくだけの雑記ブログです。

【WordPress】Advanced Custom FieldsでGroup内のサブフィールドを取得するシンプルな方法

f:id:grayblack:20190327141722j:plain

 

 

 

まさかはてなブログでWordPressのネタが出てくるとはね…

 

プラグイン「Advanced Custom Fields」

カスタムフィールドを使っている人にとっては必須のプラグイン「Advanced Custom Fields(ACF)」ですが、その使い方のひとつのメモ。

 

通常の取得方法

// カスタムフィールド名「cf」の値を取得する場合
$sample01 = get_field('cf');

 

で簡単に取得できますが、フィールドタイプを「Group(グループフィールド)」にすると、サブフィールド(子フィールド)をその配下に作ることができます。

 

Group内のサブフィールドの取得方法

※この記事でご紹介しているのは有料アドオンの繰り返しフィールドのことではありません。無料版で使えるフィールドタイプ「Group」についてです。

 

以下の画像の場合はフィールド名「parent」をGroupにしてそのサブフィールドとしてフィールド名「child」がある状態です。

 

Advanced Custom Filedsの管理画面

Advanced Custom Filedsの管理画面

 

この状態で「child」に入力された値を取得したい場合は、以下のようにサブフィールドを[]で後ろにつけてget_fieldすればOKです。


// 親フィールド「parent」のサブフィールド「child」の値を取得したい場合①
$child = get_field('parent')['child'];

 

または

 

// 親フィールド「parent」のサブフィールド「child」の値を取得したい場合②
$parent = get_field('parent'); // 親フィールドを一旦変数に入れる
$child = $parent['child'];

 

といった書き方ができます。

 

まとめ

Groupではもっと複雑な処理を行うことができますが、今回は記事のタイトルにもあるようにサブフィールドの値を取るためだけのシンプルな方法をご紹介しました。