入力を指定できるフィールドタイプも豊富で、繰り返しの処理なんかもこれ一つで充分対応出来ます。
最近、ほぼ必須なくらい案件で使ってます。 案件でよく使う出力するためのコードをご紹介します。
テキストを出力
// Smart Custom Fields の値を呼びだす
// SCF::get( '設定した名前' )
<?php
$text= SCF::get( 'text' );
echo $text;
?>
画像のURLを取得してimgタグに出力する
<?php
// SCF::get_post_meta($post->ID, '設定した名前', 画像サイズ)
$img = get_post_meta($post->ID, 'img', true);
?>
<img src="<?php echo wp_get_attachment_url($img) ?>">
画像のグループ名(img_group)を取得して画像ごと(img)出力します。
画像を繰り返し出力する
<?php
// SCF::get( '繰り返すグループ名' )
$img_group = SCF::get( 'img_group' );
foreach ( $img_group as $fields ) {
// get_post_meta($post->ID, '設定した名前', 画像サイズ);
$img = get_post_meta($post->ID, 'img', true);
$imageItem = wp_get_attachment_image_src($img, 'thumbnail');
?>
<img src="<?php echo wp_get_attachment_url($imageItem[0]) ;?>">
<?php } ?>
項目が空だった場合は表示させない
投稿画面から値が入力されてない場合は「div」ごと表示しないようにします。<?php $text= SCF::get( 'text' );?>
<?php if(!empty($text)):?>
<div>
<?php echo $text; ?>
</div>
<?php endif;?>
画像を呼び出し
<?php $img = get_post_meta($post->ID, 'img', true);?>
<?php if(!empty($img)):?>
<div>
<img src="<?php echo wp_get_attachment_url($img) ?>">
</div>
<?php endif;?>
画像を呼び出し(繰り返し時)
グループ配列を呼び出して、ファイル名がない場合は出力しない処理
<?php $img_group = SCF::get( '繰り返すグループ名' );?>
<?php $img_group = SCF::get( 'img_group' );?>
<?php if(!empty($field_group[0]['img'])):?>
<div>
<?php
foreach ( $field_group as $fields ) {
$imageItem = wp_get_attachment_image_src($fields['img'], 'thumbnail');
?>
<img src="<?php echo $imageItem[0];?>">
<?php } ?>
</div>
<?php endif;?>