Случайные изображения с acf (опция галереи)

#php #html #wordpress #advanced-custom-fields #gallery

Вопрос:

Можете ли вы сказать мне, что мне нужно добавить, чтобы создать галерею случайных изображений. Нужно ли мне создавать новую переменную, такую как $rand? Я ищу ответ, но не могу его найти. Я создал $rand = array_rand($галерея, 1);. Но это не работает. Справка 🙂

 <section class="gallery-section">
    <div class="container padding">
        <h2>Galeria</h2>
        <div class="gallery-container">
            <div class="row">
                    <?php 
                $images = get_field('gallery');
                
                if( $images ): ?>
                 <?php foreach( $images as $image ): ?>
                <div class="col-lg-4 col-md-6">
                    
                    <div class="image-wrapper">
                        <a class=“fancybox” rel=“gallery href="<?php echo esc_url($image['url']); ?>">
                     <img class ='img-fluid'  src="<?php echo esc_url($image ['sizes']['large']); ?>" alt="<?php echo esc_attr($image['alt']); ?>"  />
                    </a>
                    
                    </div>
                    
                </div>
                <?php endforeach; ?>
                    <?php endif; ?>
                
                
            </div>

        </div>
    </div>
</section> 

Ответ №1:

array_rand() используется для выбора одного (или нескольких) случайных ключей из заданного массива. Если вы хотите представить изображения галереи в случайном порядке, вам следует использовать shuffle() вместо этого:

 $images = get_field('gallery');
if ($images) {
    shuffle($images); // <-- Note that it modifies to original array.
    foreach($images as $image) {...}
}