WordPress

Advanced Custom Fields のアドオン Flexible Content の表示方法

Advanced Custom Fields のアドオン Flexible Content の表示方法

WordPress のプラグイン ACF のアドオン Flexible Content(以降、柔軟コンテンツ)の表示方法を紹介します。
ACF のアドオン 柔軟コンテンツを使うと、コンテンツを自由に管理できるサブフィールドグループ(以降、レイアウト)を追加することができます。

  1. 柔軟コンテンツとは?
  2. 柔軟コンテンツの設定方法
  3. 柔軟コンテンツの基本的な表示方法
  4. 柔軟コンテンツにリピーターを入れ子にした場合
  5. まとめ

1.柔軟コンテンツとは?

リピーターフィールドと同様にこのフィールドにはサブフィールドが含まれています。このフィールドはレイアウトとして自由に追加することができます。追加できるレイアウトはあなたが欲しいと思う内容を事前に定義する必要があります。
Flexible Content は、ACFの有料のアドオンになります。

2.柔軟コンテンツの設定方法

柔軟コンテンツを設定内容は次の通りです。

Layouts
レイアウト
リピーターフィールドと同様に、このフィールドにはサブフィールドが含まれています。このフィールドは、レイアウトとして自由に追加することができます。追加できるレイアウトは、あなたが欲しいと思う内容を事前に定義する必要があります。
Button Label
ボタンラベル
レイアウトを追加するためのボタンの名称を設定します。初期設定は “Add Row” です。
Minimum Layouts
最小レイアウト
レイアウトの最小設定数を指定します。
Maximum Layouts
最大のレイアウト
レイアウトの最大設定数を指定します。

3.柔軟コンテンツの基本的な表示方法

柔軟コンテンツの基本的な表示方法を紹介します。
次のコードは、レイアウト名1とレイアウト名2というレイアウトを作成した場合、各レイアウトに任意のサブフィールドを設定してある時の表示方法です。


<?php if( have_rows('フィールド名') ): //柔軟コンテンツフィールドの値を持っているかどうかをチェック ?>
<?php while ( have_rows('フィールド名') ) : the_row(); //値のループ ?>
<?php if( get_row_layout() == 'レイアウト名1' ): //レイアウト名1があった場合に出力 ?>
<?php the_sub_field('コンテツフィールド名1'); //柔軟コンテンツ内は'the_sub_field'や'get_sub_field'を使用 ?>
<?php elseif( get_row_layout() == 'レイアウト名2' ): //レイアウト名2があった場合に出力 ?>
<?php the_sub_field('コンテツフィールド名2'); //柔軟コンテンツ内は'the_sub_field'や'get_sub_field'を使用 ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

各フィールド名は作ったフィールドに合う任意の名前に変更してください。

4.柔軟コンテンツにリピーターを入れ子にした場合

柔軟コンテンツとリピーターを入れ子にした場合の表示方法を紹介します。


<?php if( have_rows('フィールド名') ): //柔軟コンテンツフィールドの値を持っているかどうかをチェック ?>
<?php while ( have_rows('フィールド名') ) : the_row(); //値のループ ?>
<?php if( get_row_layout() == 'レイアウト名1' ): ?>
<!— レイアウト名1の出力 -->
<?php elseif( get_row_layout() == 'レイアウト名2' ): ?>
<!— レイアウト名2にリピーターフィールドがあるかの判別 -->
<?php if( have_rows('リピーターフィールド名') ): //リピーターフィールドの値を持っているかどうかをチェック ?>
<?php while ( have_rows('リピーターフィールド名') ) : the_row(); //値のループ ?>
<?php the_sub_field('image'); ?>
<?php endwhile; ?>
<?php endif; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

リピーターの詳しい表示方法はAdvanced Custom Feld のアドオン Repeater Field の表示方法を御覧ください。

まとめ

WordPress のプラグイン ACF のアドオン 柔軟コンテンツの表示方法を紹介しました。
仕組みを理解するのに苦労しますが慣れてしまえば大丈夫! まずはいろいろ試してみましょう。

スポンサーリンク

合わせて読みたい関連記事