У меня есть веб-страница, которая вызывает 7 изображений из WordPress, используя поле ACF Repeater.
То, что я хочу сделать, это получить список URL-адресов изображений, а затем перетасовать их так, чтобы их изображения появлялись случайным образом на веб-странице. Когда я называю изображения с ($image['url'])
, единственное изображение, которое отображается, это последнее изображение, загруженное на сайт WordPress.
<?php
// Call the ACF Gallery images
$imageArray = get_field('company_logos', 13);
$size = 'full'; // (thumbnail, medium, large, full or custom size)
if( $imageArray ):
while( have_rows('company_logos', 13) ) : the_row();
$image = get_sub_field('image');
// $content = get_sub_field('content');
//shuffle ($image['url']);
$arr = $image['url'];
shuffle($arr);
print_r($arr);
endwhile;
endif; ?>
Когда я отображаю URL-адреса изображений на экране, они появляются в формате:
http://localhost/wordpress/wp-content/uploads/2016/07/a.jpg
http://localhost/wordpress/wp-content/uploads/2016/07/b.png
http://localhost/wordpress/wp-content/uploads/2016/07/c.jpg
http://localhost/wordpress/wp-content/uploads/2016/07/d.jpg
http://localhost/wordpress/wp-content/uploads/2016/07/e.jpg
http://localhost/wordpress/wp-content/uploads/2016/07/f.jpg
http://localhost/wordpress/wp-content/uploads/2016/07/g.jpg
Кто-нибудь знает, как это сделать?
Спасибо!
Получаете ли вы список изображений из $ image [‘url’]? Возвращает ли он массив в первую очередь? Если это так, то ваше решение должно работать. Если это не массив, а строка URL-адресов, разделенных запятой, то перед вторым оператором сделайте следующее. Итак, новый код будет выглядеть следующим образом,
$urls = $image['url'];
$arr = explode(" ", $urls);
shuffle($arr);
print_r($arr);
Других решений пока нет …