WordPress + ACF галерея случайный массив размеров изображений - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю галерею изображений с помощью 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; ?>

1 Ответ

1 голос
/ 23 апреля 2020

Вы получаете ключ, но вы передаете ключ вместо передачи значения этого ключа. Я обновил ваш код, пожалуйста, проверьте.

<?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; ?>
...