うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

acfで画像サイズを指定する場合

-2015年08月04日-
functions.phpに適切な画像サイズを選択する。acf画像呼び出しも記載する。
1add_theme_support( 'post-thumbnails' );
2add_image_size( 'top_slider', 810, 360, true );//topスライダー
3add_image_size( 'w700', 700, 440, true );//横幅700
4 
5■ACF画像の呼び出し v1.1
6ACF_image('項目名','サイズ','種類');
7種類:photo、url、alt、title、caption
8 
9■種類とサイズは省略可能。
10サイズ → full
11種類  → imgタグが呼び出されます。
12 
13■CF画像の返り値は必ず「画像オブジェクト」にする。
14*//////////////////////////////////////
15function ACF_img($str,$size_name='full',$type='photo',$row=''){
16     
17    //空入力を有効に
18    if($type ==''){$type = 'photo';}
19 
20    //rowを第2因数以降でも有効に
21    if($size_name == 'row' || $type == 'row' ){
22        $row = 'row';
23        $type='photo';
24        if($size_name == 'row'){
25            $size_name='full';
26        }
27    }
28     
29    //rowの処理
30    if($row != 'row'){
31        $image = get_field($str);
32    }else{
33        //繰り返し(repeater)の画像呼び出し
34        $image = get_sub_field($str);
35    }
36     
37    //画像情報の読み込み
38    if( !empty($image) ){
39        // vars
40        $url = $image['url'];
41        $alt = $image['alt'];
42        $title = $image['title'];
43        $caption = $image['caption'];
44 
45        // Resize
46        if(($size_name != '') && ($size_name != 'full')){      
47            $thumb = $image['sizes'][$size_name];
48        }else{
49            $thumb = $url;
50        }
51 
52        switch ($type){
53            case 'photo':   $photo = '<img src="'.$thumb.'" alt="'.$alt.'" />';break;
54            case 'url':     $photo = $thumb;break;
55            case 'alt':     $photo = $image['alt'];break;
56            case 'title':   $photo = $image['title'];break;
57            case 'caption': $photo = $image['caption'];break;
58        }
59 
60        echo $photo;
61     
62    }
63     
64}
1<?
2$img = get_sub_field('メイン画像');//画像(返り値は「画像ID」)
3$imgurl = wp_get_attachment_image_src($img, 'w390'); //サイズは自由に変更できる
4if($imgurl){ ?><img src="<? echo $imgurl[0]; ?>" alt="">
5<? } ?>