BuggyBuggy
@BuggyBuggy

Wordpress: как вывести поле ACF-повторителя двух случайных страниц?

Добрый день.
Есть несколько страниц объектов с отзывами (поля ACF-повторители)
Есть Главная страница, на которой нужно вывести два отзыва из рандомных объектов. Т.е. берём рандомную страницу объекта, выводим первый отзыв-элемент повторителя. Потом берём вторую рандомную страницу объекта и берём оттуда первый отзыв-элемент повторителя.

Для примера есть три страницы объектов: соответственно с одним, двумя и тремя отзывами.

Что делаю я:
<?php 
$args = array(
	  'numberposts'	=> -1,
	  'post_type'		=> 'page', // тип записи - страница
	  'meta_key'		=> 'pans_feedback', // с полем повторителя отзыва "pans_feedback"
	  'showposts'		=> '2', // два случайных поста
	  'order'       	=> 'rand' // в рандомном порядке
);
$the_query = new WP_Query( $args );
?>	
<?php if( $the_query->have_posts() ): ?>
	<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
		<?php
			if( have_rows('pans_feedback') ):
				while ( have_rows('pans_feedback') ) : the_row();
		?>
			<?php
				// поля повторителя "pans_feedback"
				$pans_feedback_avatar = get_sub_field('pans_feedback_avatar');
				$pans_feedback_name = get_sub_field('pans_feedback_name');
				$pans_feedback_text = get_sub_field('pans_feedback_text');
			?>
			<img src="<?php echo $pans_feedback_avatar; ?>" alt="" class="feedback-block-item-photo mr-xe-rt-16 hidden-xe" />
			<?php echo $pans_feedback_name; ?>
			<?php echo $pans_feedback_text; ?>
		<?php endwhile;
		else :
			echo 'Пусто';
		endif;
		?>
	  <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>


Всё это выводит отзывы из двух определённых (не рандомные, они не меняются при обновлении страницы) объектов. Один отзыв из того объекта, где один отзыв, и два оттуда, где два.

Т.е. выводит все отзывы двух определённых объектов.

Не работает рандом выбора объектов-страниц. И надо ограничить вывод только одного отзыва со страницы.
  • Вопрос задан
  • 840 просмотров
Решения вопроса 1
@weart
'meta_key' тут лишний, а значения повторителя получать внутри цикла нужно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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