カスタムフィールドを作成したいときに便利なプラグインの一つです。開発者の人で全く触ったことない人はいないのではないでしょうか。PRO」には「繰り返しフィールド」という非常に便利なフィールドが存在します。投稿ごとに対象を可変に出来るので非常に便利な機能です。今回はその「繰り返しフィールド」を入れ子にした際に若干時間をロスしたためその使い方をまとめてきます。最初の繰り返しフィールドを「repeat_1」とし、その中に「label」というフィールドと繰り返しフィールドの「repeat_2」を定義します。「repeat_2」の中には「content」「style」の二つのフィールドを定義しています。コードで繰り返しフィールドを呼び出す基本的な繰り返しフィールドの呼び出し方は以下のようになります。WordPressの投稿を取得する形と似ているのでわかりやすいと思います。endwhile;endif;下記の画像のようにデータが入力されているとします。取得した項目をカレントとして展開$labelに代入($labelの値は「ハンバーグ」「ステーキ」「ラーメン」の順に変化する)という感じになります。「repeat_1」内の繰り返しフィールドにも項目を追加した形でデータを取得します。データは以下の画像の通りです。繰り返しフィールドの中に繰り返しフィールドがある形ですね。こちらを取得してみます。endwhile;endif;ループの流れを追ってみます。「repeat_2」取得した項目をカレントとして展開$contentに「デミグラス」、$stlyeに「row」が代入される「repeat_2」の次の項目に移り$contentに「ケチャップ」、$stlyeに「column」が代入される「repeat_1」の次の項目に移り$labelに「ステーキ」が代入される「repeat_2」は存在しない「repeat_1」の次の項目に移り$labelに「ラーメン」が代入される「repeat_2」は存在しない基本的にはループ一つの場合と変わりません。ポイントはカレントに展開するところです。「repeat_1」の項目を展開中に当然ながら「repeat_2」の内容は取得できません。「repeat_2」の項目を展開中に「repeat_1」の項目を取得することもできないので注意してください。)どうしても二つ目のループ途中に一つ目のループの項目が取得したい場合にはどうしたら良いでしょうか。(あまりないとは思いますが...)ACFではカレントを設定する方法以外にも配列により取得することも可能です。繰り返しフィールド内に繰り返しフィールドがある例を配列の形で書き直してみます。}}この形であれば$labelをループ内で定義することも可能です。(今回の例では明らかに無駄なのでやりませんが必要となるケースもあるかもしれません。WordPressでやりたいことができた時に右往左往してしまう人は本書を熟読し、全体像を把握すべし。CodeですっきりとWordPressWordPressで勝手にリダイレクトされるWordPress「WPGraphQL」を使用してWordPressでGraphQLを使うWordPressWordPressを使用したWebサイト制作・システム制作を行っています。このブログではWordPressやフロント周りの内容を載せています。最近はWordPressプラグインの開発やカスタマイズが多いです。こんな機能が欲しい、プラグインのカスタマイズ・拡張して欲しいという方はお問い合わせから是非。KumaTechLab.。