我正在尝试获取一个 随机行的推荐信,但该行必须包含 sitewide_display 子字段的“true”值。
我不能为我的生活让这个工作,这只是给了我刷新后的感觉。
在while循环中使用条件作为子字段值(sitewide_display)是否存在某种冲突?
<?php $rows = get_field('testimonials' ); // get all the rows ?>
<?php if( $rows ) : // if there are rows, continue ?>
<?php while( has_sub_field('testimonials') ) : ?>
<?php if( get_sub_field('sitewide_display')): ?>
<?php $rand_row = $rows[ array_rand( $rows ) ]; // get the first row ?>
<?php $rand_row_testimonial_name = $rand_row['testimonial_name' ]; // get the sub field value ?>
<?php echo $rand_row_testimonial_name; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
答案 0 :(得分:1)
如果有更有效的方式继续发表评论,我已解决了以下问题!
<?php
$lists = get_field( 'testimonials' );
shuffle($lists);
if( $lists ){
$i=0;
foreach( $lists as $list ){
if( $list['site-wide_display'] && $i < 1){
echo $list['testimonial_name'];
$i +=1;
}
}
}
?>