カスタムフィールドプラグインAdvanced Custom FieldsのRepeater Fieldは繰り返し処理が出来て色々と捗る




Advanced Custom Fieldsはカスタムフィールドをより使い易くしてくれるプラグイン。
このプラグインの有料アドオン「The Repeater Field(繰り返しフィールド)」を使って、好きな数だけ画像を登録しページに表示させます。
現在(2016/8/31)で25$というお値段は、クライアントワークにもいろいろ活用できそうなので購入に至りました。
Repeater Fieldとは
画像を見てもらうとわかりやすいが、1つの項目で好きな数だけ追加して登録できる機能。
例えば、カラーバリエーションが赤、青、黄とか


Repeater Fieldを使って画像を表示させる
まず、好きなサイズのサムネイル画像を追加します。
function.php
add_theme_support('post-thumbnails');
add_image_size('custom-image', 245, 245, true); // 好きなサイズのサムネイル画像を追加
※デフォルトの画像サイズ(thumbnail, medium, large, full)を使用する場合は必要ありません
表示したいページ(例えばsingle.phpとか)に以下のコードを記述。
single.php
<php
if( have_rows('repeater_field_name') ):
while( have_rows('repeater_field_name') ): the_row(); // フィールド名(親)の$keyを指定
if(get_sub_field('subimage')){ // フィールド名(子)の$keyを指定
$image = wp_get_attachment_image_src(get_sub_field('subimage'), 'custom-image');
$max = wp_get_attachment_image_src(get_sub_field('subimage'), 'full');
echo '<a class="attachment-post-thumbnail wp-post-image" href="'.$max[0].'"><img src="'.$image[0].'" alt="" /></a>';
}
endwhile;
endif;
?>
Repeater Fieldは、独自の関数を使います。
have_rows()とget_sub_field()はRepeater Field用の関数です。
※2016/8/31 ソースを一部更新
このソースで画像が表示され、クリックするとフルサイズの画像が表示されます。
Lightbox系プラグインと組み合わせてモーダルウィンドウさせることも可能です。





