WP
ACFとSCFで画像を表示させる際の違い
ACF(Advanced Custom Fields)とSCF(Smart Custom Fields)は
違うプラグインなので、記述方法は当然異なるが、実際にどの程度違うのかを比較するためのメモ。
Advanced Custom Fieldsの場合
仮にフィールド名を「work_photo_img」とし、
返り値のフォーマットに「画像配列」を選択した場合
<!--ACF画像表示テスト-->
<?php if ( $image = get_field("work_photo_img") ) : ?>
<figure><?php echo wp_get_attachment_image($image['id'],'square-thumb'); ?></figure>
<?php else : ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/img/common/noimg_square.gif">
<?php endif; ?>
Smart Custom Fieldsの場合
SCFを使うのは繰り返す前提での使用が多いだろうから、
仮にグループ名を「work-photo-group」とし、名前を「work-photo-img」とした場合
<!--SCF画像表示テスト-->
<?php
$blocks = SCF::get("work-photo-group");
if ( !empty($blocks[0]["work-photo-img"]) ) :
?>
<ul>
<?php foreach ( $blocks as $field_name => $field_value ) { ?>
<li><?php echo wp_get_attachment_image($field_value['work-photo-img'], 'square-thumb'); ?></li>
<?php } ?>
</ul>
<?php else : ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/img/common/noimg_square.gif">
<?php endif; ?>
で表示の確認がとれました。
因みに’square-thumb’はfunction.phpで定義済みの画像サイズ。