【WordPress】Smart Custom Fields(SCF)でカスタムフィールドを出力する

WordPressのプラグイン「Smart Custom Fields(SCF)」のカスタムフィールドの出力方法をご紹介します。 WordPressのプラグインの中で最近のお気に入りが「Smart Custom Fields(SCF)」です。 カスタムフィールドを管理するプラグインです。
入力を指定できるフィールドタイプも豊富で、繰り返しの処理なんかもこれ一つで充分対応出来ます。
最近、ほぼ必須なくらい案件で使ってます。 案件でよく使う出力するためのコードをご紹介します。

テキストを出力

// 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) ?>">
Smart Custom Fields(SCF)でよく使うのが画像を繰り返して使う場面が多いので、
画像のグループ名(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 } ?>
もし、カスタムフィールドが任意で、出力する項目ごと消したい場合は、empty関数を使って項目ごと消せます。

項目が空だった場合は表示させない

投稿画面から値が入力されてない場合は「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;?>