#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) {...}
}