プラグインのAdvanced Custom Fields (略してAFC)を使用して、画像フィールドを出力する場合、返り値によって画像の表示方法が異なります。
画像のURLとaltで出力
画像が登録されている場合、img
タグをURLとaltで出力します。
値がない場合 if
で出力を除外します。
PHP
<?php $image = get_field('image'); if( !empty($image) ): ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endif; ?>
画像IDで出力
画像IDで出力する場合、画像のサムネイルサイズ版を取得して、画像を遅延読み込みさせる時のプレースホルダーとして設置したいケースなどで利用します。
PHP
<?php
$image = get_field('image');
$size = 'full'; // (thumbnail, medium, large, full or custom size)
if( $image ) {
echo wp_get_attachment_image( $image, $size );
}
?>
カスタムタームに画像フィールドを追加して出力
作成したカスタムタクソノミーに、ACFで画像の登録フィールドを登録。そして、それをtaxonomy
の一覧ページで出力する場合のスニペットです。
PHP
<?php
$term = get_queried_object(); // タームオブジェクトを取得
echo $term->id; // タームスラッグ
?>
<?php $image = get_field('フィールド名(英数字)', $term); if( !empty($image) ): ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php else: //画像がない場合 ?>
<img src="https://hogehoge.com/sample.jpg" alt="">
<?php endif; ?>