画像の出力

カスタムフィールドの画像のイラスト

プラグインの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; ?>