カスタムフィールドの画像のランダム表示

○1つの投稿ページのカスタムフィールドに複数の画像を登録し、ランダムに表示。

○カスタムフィールドの追加にはAdvanced Custom Fieldsを使用。

○返り値は画像ID、プレビューサイズはサムネイルに設定。

<?php 
	$size = 'thumbnail'; //表示する画像サイズを指定
	$fields = get_fields(); //カスタムフィールドの画像を全て取得
	$fields_ex = array_diff($fields, array('')); //空の配列を削除
	$random = array_rand($fields_ex); //配列をランダムにする
	$image = wp_get_attachment_image_src($fields[$random], $size); //選ばれし画像

	if(!($random == false || $random == '')) { //画像があるかチェック
		echo '<img src="'.$image[0].'" width="'.$image[1].'" height="'.$image[2].'" />';
	}else {
		echo '画像なんてなかったんだ';
	}
?>

 if文にfalseと空の2つを指定しているのは、どちらかよくわからないから。

 空の時もあればなぜかfalseが返ってくることもあって、その条件がわからなかったので、両方入れておいただけ☆ だめにんげん。

 

 もっといいやり方があるかもしれ(略)。

 いいんだよ……とりあえず動けば……。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください