デザイン
2021.09.27
Advance Custom fields(ACF)の出力方法まとめ
出力方法一覧
テキスト系や画像(URLの場合)、選択肢で返り値が一つの場合などに使用できます。
<p><?php the_field('フイールド名'); ?></p>
<?php
//値が空の場合出力を除外する
$field = get_field('フイールド名');
if($field){echo '<p>'.$field.'</p>';}
?>
<?php
//ページ・カテゴリなど指定のフィールドを読み込みたい場合
//ページ
$page_field = get_field('フイールド名','ページID');
if($page_field){echo $page_field;}
//カテゴリ
$cat_field = get_field('フイールド名','category_カテゴリID');
if($cat_field){echo $cat_field;}
//タグ
$tag_field = get_field('フイールド名','post_tag_タグID');
if($tag_field){echo $tag_field;}
//ユーザー
$user_field = get_field('フイールド名','user_ユーザーID');
if($user_field){echo $user_field;}
?>
選択肢の場合
選択肢の返り値にbothを選択していたり、複数の値を選択するなどして、通常の出力で表示がArrayとなる場合に使用します。
<?php
$select = get_field('フイールド名');
if($select){
//ラベルを出力
echo $select['label'];
//値を出力
echo $select['value'];
}
?>
選択肢を複数指定している場合は、foreachで配列の数分出力します。
<?php
$select = get_field('フイールド名');
if($select){
echo '<ul>';
foreach($select as $child){
echo '<li>';
if(is_array($child)){
//bothの場合、ラベルを出力
echo $child['label'];
}else{
//単独の返り値の場合の出力
echo $child;
}
echo '</li>';
}
echo '</ul>';
}
?>
画像の場合
画像フィールドで画像を出力したい場合、返り値の選択によって画像の表示方法が異なります。単純に画像だけ表示させたい場合は、画像URLを選ぶとシンプルな記載で出力できます。
画像配列の場合の出力
<?php
$images = get_field('フィールド名');
if($images){echo '<img src="'.$images[url].'">';}
?>
画像URLの場合の出力
<?php
$images = get_field('フィールド名');
if($images){echo '<img src="'.$images.'">';}
<?php endif; ?>
画像IDの場合の出力
<?php
$images = get_field('フィールド名');
if($images):
//wp_get_attachment_image_src(画像ID, '画像サイズ')で画像情報を取得
$src = wp_get_attachment_image_src($images, 'full');
//画像URLは配列の[0]にあるので、それを利用して画像出力
echo '<img src="'.$src[0].'">';
endif;
?>
まとめ
以上、メモでした。
この記事に関連するタグ
正しい効果測定は、正しい計測設定から!Googleアナリティクス設定項目チェックシート(無料)
リスティング・Googleアナリティクス・ホームページ・ランディングページなど
Webマーケティングのことなら何でもご相談ください
株式会社マイティーエースでは、様々なWeb広告・Webマーケティングなど
お客様に合ったご提案しています。
興味をお持ちいただけた方は、まずは気軽にご相談ください。