○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が返ってくることもあって、その条件がわからなかったので、両方入れておいただけ☆ だめにんげん。
もっといいやり方があるかもしれ(略)。
いいんだよ……とりあえず動けば……。