我正在使用它来选择存档上的随机图像,但是在每个分页存档页面上使用相同的图像2或3次。
任何方式确保它只选择一个独特的图像?
$random_image = sprintf( '%s/random/%s.png', get_stylesheet_directory_uri(), rand( 6, 1 ) );
编辑:我想我需要使用$ wp_query-> current_post来定位循环中的6个最新帖子,并为每个帖子设置一个特定的默认图像。大量的PHP但可以工作。
答案 0 :(得分:1)
要获得一个非常随机的图像,同时避免连续重复,您可以创建一个静态数组,随机播放其元素n次并返回pop-uped值:
function getRandom() {
static $arr = array();
if (empty($arr)) {
$arr = range(1,6);
$count = mt_rand(1,10);
for ($i=0; $i<$count; $i++)
shuffle($arr);
}
return array_pop($arr);
}
$random_image = sprintf('%s/random/%s.png', get_stylesheet_directory_uri(), getRandom());
答案 1 :(得分:0)
你的代码每次传递给它时都是随机生成的,因此随机数会改变为几次复制一个值。
您可以随机设置所有值。
$a = range(1,6); # total number of images
shuffle($a); # randomize
print_r($a);
并返回数组中的值。
我认为这有帮助。 :)