我正在用ACF和Isotope Masonry建立一个图片库,但我想让图片以不同的尺寸随机显示。
我使用的是当前的代码,但不太行得通,有谁能给我指出正确的方向,请问是哪里出了问题?
<?php
$images = get_sub_field('gallery');
$size = array("gallery-large","gallery-medium","gallery-small"); // (thumbnail, medium, large, full or custom size)
$rand = array_rand($size, 1);
if( $images ): ?>
<div class="gallery grid">
<?php foreach( $images as $image_id ): ?>
<div class="grid-item">
<?php echo wp_get_attachment_image( $image_id, $rand ); ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
谢谢CBroe,我已经更新到下面的代码了,但还是不行,这样做对吗?
<?php
$images = get_sub_field('gallery');
if( $images ): ?>
<div class="gallery grid">
<?php foreach( $images as $image_id ):
$size = array("gallery-large","gallery-medium","gallery-small");
$rand = array_rand($size, 1); ?>
<div class="grid-item">
<?php echo wp_get_attachment_image( $image_id, $rand ); ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
你得到的是key,但你传递的是key,而不是传递key的值。我已经更新了你的代码,请检查。
<?php
$images = get_sub_field('gallery');
if( $images ): ?>
<div class="gallery grid">
<?php foreach( $images as $image_id ):
$size = array("gallery-large","gallery-medium","gallery-small");
$rand = array_rand($size, 1); ?>
<div class="grid-item">
<?php echo wp_get_attachment_image( $image_id, $size[$rand] ); ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>