Nov 26, 2017
Advanced Custom Fields出力方法
Advanced Custom Fieldsのよく使う出力方法をまとめました。
基本操作
画像IDを使って画像を出力する
https://www.advancedcustomfields.com/resources/image/より
1 2 3 4 5 6 7 8 9 10 |
<?php if(get_field('img',$post_id)): ?> <?php $image = get_field('img'); $size = 'full'; // (thumbnail, medium, large, full or custom size) if( $image ) { echo wp_get_attachment_image( $image, $size ); } ?> <?php endif; ?> |
画像IDを使って画像を出力・画像がない場合も設定する方法
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php if(get_field('img',$post_id)): ?> <?php $image = get_field('img'); $size = 'full'; // (thumbnail, medium, large, full or custom size) if( $image ) { echo wp_get_attachment_image( $image, $size ); } ?> <?php else: ?> <img src="<?php echo get_template_directory_uri(); ?>/assets/images/dammy.jpg" alt="">//ダミー画像のパスを書く <?php endif; ?> |
テキスト、テキストフィールドを出力
テキスト、テキストフィールドの出力の方法は同じみたいです。
2つのやり方があります。
1 2 3 |
<?php if(get_field('text')): ?> <p><?php the_field('text'); ?></p> <?php endif; ?> |
1 2 3 |
<?php $text = get_field('text'); if( $text ): ?> <?php echo $text; ?> <?php endif; ?> |
カテゴリー、タグページへ表示
カテゴリー、タグページへ出力させるには、上記のコードだけでは表示されません。
基本のコードを出力させる前に、下記のコードも記入しましょう。
カテゴリーページへ出力
位置のルールをタクソノミーターム・等しい・categoryにする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $cat_id = get_queried_object()->cat_ID; $post_id = 'category_'.$cat_id; ?> <?php $text = get_field('name',$post_id); if( $text ): ?> <p><?php echo $text; ?></p> <?php endif; ?> <?php if(get_field('img',$post_id)): ?> <?php $image = get_field('img',$post_id); $size = 'full'; // (thumbnail, medium, large, full or custom size) if( $image ) { echo wp_get_attachment_image( $image, $size ); } ?> //画像 <?php endif; ?> |
タグページへ出力方法
位置のルールをタクソノミーターム・等しい・post_tagにする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $term_id = get_queried_object()->term_id; $post_id = 'post_tag_'.$term_id; ?> <?php $text = get_field('text',$post_id); if( $text ): ?> <p><?php echo $text; ?></p> <?php endif; ?> <?php if(get_field('img',$post_id)): ?> <?php $image = get_field('img',$post_id); $size = 'full'; // (thumbnail, medium, large, full or custom size) if( $image ) { echo wp_get_attachment_image( $image, $size ); } ?> <?php endif; ?> |
Repeater fieldを使ったものを表示させる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php if(get_field('repeater-field-name')): ?> <ul> <?php while(the_repeater_field('repeater-field-name')): ?> <li> <a href="<?php the_sub_field('sub-field-name01'); ?>"> <?php the_sub_field('sub-field-name02'); ?> </a> <?php $image = get_sub_field('img'); $size = 'thumbnail'; // (thumbnail, medium, large, full or custom size) if( $image ) { echo wp_get_attachment_image( $image, $size ); } ?> </li> <?php endwhile; ?> </ul> <?php endif; ?> |