うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

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

-2015年08月04日-
functions.phpに適切な画像サイズを選択する。acf画像呼び出しも記載する。
add_theme_support( 'post-thumbnails' );
add_image_size( 'top_slider', 810, 360, true );//topスライダー
add_image_size( 'w700', 700, 440, true );//横幅700

■ACF画像の呼び出し v1.1
ACF_image('項目名','サイズ','種類');
種類:photo、url、alt、title、caption

■種類とサイズは省略可能。
サイズ → full
種類	→ imgタグが呼び出されます。

■CF画像の返り値は必ず「画像オブジェクト」にする。
*//////////////////////////////////////
function ACF_img($str,$size_name='full',$type='photo',$row=''){
	
	//空入力を有効に
	if($type ==''){$type = 'photo';}

	//rowを第2因数以降でも有効に
	if($size_name == 'row' || $type == 'row' ){
		$row = 'row';
		$type='photo';
		if($size_name == 'row'){
			$size_name='full';
		}
	}
	
	//rowの処理
	if($row != 'row'){
		$image = get_field($str);
	}else{
		//繰り返し(repeater)の画像呼び出し
		$image = get_sub_field($str);
	}
	
	//画像情報の読み込み
	if( !empty($image) ){ 
		// vars
		$url = $image['url'];
		$alt = $image['alt'];
		$title = $image['title'];
		$caption = $image['caption'];

		// Resize
		if(($size_name != '') && ($size_name != 'full')){		
			$thumb = $image['sizes'][$size_name];
		}else{
			$thumb = $url;
		}

		switch ($type){
			case 'photo': 	$photo = '<img src="'.$thumb.'" alt="'.$alt.'" />';break;
			case 'url': 	$photo = $thumb;break;
			case 'alt': 	$photo = $image['alt'];break;
			case 'title': 	$photo = $image['title'];break;
			case 'caption': $photo = $image['caption'];break;
		}

		echo $photo;
	
	}
	
}
<?
$img = get_sub_field('メイン画像');//画像(返り値は「画像ID」)
$imgurl = wp_get_attachment_image_src($img, 'w390'); //サイズは自由に変更できる
if($imgurl){ ?><img src="<? echo $imgurl[0]; ?>" alt="">
<? } ?>