Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@chokosuki4400

wordpressプラグインの「Smart Custom Fields(SCF)」の出力方法

繰り返しなしの出力

テキスト

出力.php
// Smart Custom Fields の値を呼びだす
// SCF::get( '設定した名前' )
<?php 
$text= SCF::get( 'text' );
echo $text;
?>

画像

画像のURLを取得してimgタグに出力する

出力.php
<?php 
// SCF::get_post_meta($post->ID, '設定した名前', 画像サイズ)
 $img = get_post_meta($post->ID, 'img', true);
?>
<img src="<?php echo wp_get_attachment_url($img) ?>" alt="">

入力された値がない場合

投稿画面から入力されてない場合は「div」ごと表示しない

出力.php
テキストを呼び出し
<?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 ) {
            $image = get_post_meta($post->ID, 'img', true);
            $imageItem = wp_get_attachment_image_src($image, 'thumbnail');
            ?>
            <img src="<?php echo wp_get_attachment_url($imageItem) ;?>">
            <?php } ?>
        </div>
<?php endif;?>

繰り返しありの出力

画像

画像を繰り返すグループ名(配列)を呼び出して、foreachでimgごとのURLを出力する

出力.php
<?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 } ?>

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
12
Help us understand the problem. What are the problem?