具有 2 个循环的高级自定义字段中继器
Advanced Custom Fields Repeater With 2 Loops
我正在建立一个照片库,其中有一张主图和下面的 6 个缩略图。悬停缩略图后,主图像将发生变化。简单的东西。我遇到的问题是,当页面加载时,主图像是来自第一个转发器行的图像(就像我想要的那样),但是在缩略图中,第一个转发器行没有输出。所以只有缩略图 2 - 6 被输出。我是高级自定义字段的新手。不确定是否与此有关,或者它是否只是一个简单的 PHP 错误。这是我的代码:
<?php if( have_rows('property_images') ):
while( have_rows('property_images') ): the_row();
$image = get_sub_field('property_image');
$url = $image['url'];
?>
<img src="<?php echo $url ?>" class="property-main-img">
<?php
break;
endwhile;
endif;
?>
<ul>
<?php if( have_rows('property_images') ):
$i = 1;
while( have_rows('property_images') ): the_row();
$image = get_sub_field('property_image');
$url = $image['url'];
?>
<?php if($i % 3 == 0) { ?>
<li class="prop-thumb-r"><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } else if($i == 1 || $i % 4 == 0) { ?>
<li class="prop-thumb-l"><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } else { ?>
<li><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } ?>
<?php
$i++;
endwhile;
endif;
?>
</ul>
似乎是中断导致了问题。尝试使用此方法通过仅从转发器字段中抓取第一行来获取第一张图像。
<?php
$rows = get_field( 'property_images' );
$first_image = $rows[0]['property_image'];
?>
<img src="<?php echo $first_image['url'] ?>" class="property-main-img">
我正在建立一个照片库,其中有一张主图和下面的 6 个缩略图。悬停缩略图后,主图像将发生变化。简单的东西。我遇到的问题是,当页面加载时,主图像是来自第一个转发器行的图像(就像我想要的那样),但是在缩略图中,第一个转发器行没有输出。所以只有缩略图 2 - 6 被输出。我是高级自定义字段的新手。不确定是否与此有关,或者它是否只是一个简单的 PHP 错误。这是我的代码:
<?php if( have_rows('property_images') ):
while( have_rows('property_images') ): the_row();
$image = get_sub_field('property_image');
$url = $image['url'];
?>
<img src="<?php echo $url ?>" class="property-main-img">
<?php
break;
endwhile;
endif;
?>
<ul>
<?php if( have_rows('property_images') ):
$i = 1;
while( have_rows('property_images') ): the_row();
$image = get_sub_field('property_image');
$url = $image['url'];
?>
<?php if($i % 3 == 0) { ?>
<li class="prop-thumb-r"><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } else if($i == 1 || $i % 4 == 0) { ?>
<li class="prop-thumb-l"><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } else { ?>
<li><img src="<?php echo $url ?>" alt="<?php echo $image['alt']; ?>" width="170" /></li>
<?php } ?>
<?php
$i++;
endwhile;
endif;
?>
</ul>
似乎是中断导致了问题。尝试使用此方法通过仅从转发器字段中抓取第一行来获取第一张图像。
<?php
$rows = get_field( 'property_images' );
$first_image = $rows[0]['property_image'];
?>
<img src="<?php echo $first_image['url'] ?>" class="property-main-img">