Wordpress + ACF, отображать случайные изображения из каждого сообщения на главной странице - PullRequest
0 голосов
/ 02 ноября 2018

Я новичок в Advanced Custom Fields и новичок в WP, я заинтересован в создании случайного слайдера на моей домашней странице, где в каждом сообщении много изображений.

Я не уверен на 100%, как объединить wp_query с повторителем ACF, где задействовано несколько постов, мне удалось сделать это на одной странице поста.

Меня меньше интересуют спецификации о том, как это сделать, и функции PHP, я хорошо разбираюсь в обоих, проблема в функциях и соглашениях WP

Если кто-то уже сделал что-то подобное и может посоветовать, как начать это с объединения функций повторителя ACF вместе с wp_query, оттуда я бы знал, как перетасовать изображения каждого поста с помощью array_rand .

если бы существовал Gist / fiddle, было бы еще лучше.

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете использовать PHP-функцию shuffle, чтобы рандомизировать массив выходных данных поля повторителя, а затем вырезать необходимое количество слайдов. Как то так:

$rows = get_field('repeater_field_name'); // Get row array
shuffle($rows); // Shuffle the array in a random order
$rows = array_slice($rows, 0, 5); // Slice out the first 5 elements of the array

if($rows)
{
    echo '<ul>';

    foreach($rows as $row)
    {
        echo '<li>sub_field_1 = ' . $row['sub_field_1'] . ', sub_field_2 = ' . $row['sub_field_2'] .', etc</li>';
    }

    echo '</ul>';
}

Если вы просто используете повторители для изображений, я бы предложил использовать элемент «Галерея», а не повторитель, и сделать то же самое.

...