【Smart Custom Fields】繰り返し機能で画像を表示する方法

  • Smart Custom Fieldsの『繰り返し機能』を使用して画像を表示させたいが、コードの書き方が分からない…

このような疑問にお答えします!

【Smart Custom Fields】繰り返し機能で画像を表示する方法

Smart Custom Fieldsの『繰り返し機能』を使用して画像を表示させるためのコードは下記のとおり。

<?php $fields = SCF::get('グループ名'); ?>
<!-- 繰り返し -->
<?php foreach($fields as $field): ?>
  <?php if($field['名前']): ?>
    <img src="<?php echo wp_get_attachment_url($field['名前']); ?>" alt="">
  <?php else: ?>
    <img src="<?php echo esc_url(get_theme_file_uri('img/dummy.jpg')); ?>" alt="">
  <?php endif; ?>
<?php endforeach; ?>
<!-- / 繰り返し -->

『wp_get_attachment_url』と『wp_get_attachment_image_src』の違い

『wp_get_attachment_url』と『wp_get_attachment_image_src』の違いは下記のとおり。

wp_get_attachment_url 画像IDを指定するだけで、通常のimgタグと同じイメージ
wp_get_attachment_image_src 登録した画像のパスやサイズを配列で返す
第2引数に画像のサイズを設定できる
(初期値: thumbnail)

 

『wp_get_attachment_image_src』と『繰り返し機能』を使用して画像を表示さるためのコードは下記のとおり。

<?php $fields = SCF::get('グループ名'); ?>
<!-- 繰り返し -->
<?php foreach($fields as $field): ?>
  <?php if($field['名前']): ?>

    <?php $image = wp_get_attachment_image_src($field['名前'] , '画像の大きさ'); ?>
    <!-- 画像の大きさ = thumbnail, medium, large, full -->

    <img src="<?php echo $image[0]; ?>" alt="">
    <!--
    [0]:url(画像のurl)
    [1]:width(画像の横幅)
    [2]:height(画像の高さ)
    -->

  <?php else: ?>
    <img src="<?php echo esc_url(get_theme_file_uri('img/dummy.jpg')); ?>" alt="">
  <?php endif; ?>
<?php endforeach; ?>
<!-- / 繰り返し -->

『wp_get_attachment_url』に比べて一手間かかります。

 

どちらのコードを使うか迷う方は、思考停止で記述量の少ない『wp_get_attachment_url』を使用し、画像のサイズはcssで変更すればよいかと。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事