Задать вопрос
@Support23

Как в повторителе acf вывести одно случайное поле?

Есть такой пример кода, и он в целом почти работает как надо:
<?php 
   $repeater = get_field( 'main-offer_add' );
   $random_rows = array_rand( $repeater, 1 );
      
      if( is_array( $random_rows ) ){
          foreach( $random_rows as $random_row ){
            // Output data here. Replace sub field names.
            echo 'Sub Field 1: ' . $repeater[$random_row]['main-offer_add_text'] . '1';
            }
      } else {
         echo 'Sub Field 1: ' . $repeater[$random_rows]['main-offer_add_text'] . '2';
      }
    ?>


Проблема заключается в том, что в редких случаях поле не выводится вообще. Т.е. обновляешь страницу раз 5 и на 5 раз информация не выводится. Потом снова обновляешь и снова рандом работает как надо. Не понимаю, в чём дело :(

UPD упрощенный пример:
<?php 
    $repeater = get_field( 'main-offer_add' );
    $rand = rand(0, (count($repeater) - 1));
    echo $repeater[$rand]['main-offer_add_img'];
?>

Но тоже аналогично :c
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Support23 Автор вопроса
Ребят, вопрос исчерпан. У меня просто было создано лишнее поле незаполненное :-/

Все примеры выше - рабочие.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы