Advanced Custom Fieldsで各項目をグルーピングする方法を紹介します。
入力項目を多くなるとグループ化をすることで見分けやすくなるので、開発者と顧客の双方に良いことなのでおすすめです。
フィールドタイプで「 Group 」を選択
初めに、Advanced Custom Fieldsの項目を設定するページで、「フィールドタイプ」を「Group」に選択します。

サブフィールドにグループに帰属した項目を作成
フィールドタイプをgroupにするとサブフィールドが表示されます。
あとはこのフィールドに入力項目をいつも通りに設定していくだけです。

投稿ページでの表示イメージ

投稿ページではこのような感じでグレーの枠線でグループ化されて表示されます。
何もないよりはまだマシですね。レイアウトを「行」にするとさらに見やすくなります。

テンプレートでの出力方法
出力も簡単です。
個別に出力
1 2 3 |
<?php echo get_field('基本情報')['店舗名']; ?> <?php echo get_field('基本情報')['電話番号']; ?> <?php echo get_field('基本情報')['住所']; ?> |
ループで出力
have_rows(‘親のフィールド名’)の中にサブフィールドの情報が入っているので、while文でループさせ、そのループの中で「the_sub_field(‘サブフィールド名’)」を実行するとサブフィールドの値が出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<main id="main" class="site-main"> <?php while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <?php if( have_rows('店舗情報') ): ?> <?php while( have_rows('店舗情報') ): the_row(); ?> <?php the_sub_field('店舗名'); ?> <?php the_sub_field('電話番号'); ?> <?php the_sub_field('住所'); ?> <?php endwhile; ?> <?php endif; ?> <?php endwhile; ?> </main><!-- #main --> |