Wordpress/ACF 关系字段:将最后两个帖子包装在一个单独的 div 中
Wordpress/ACF relationship field: wrap last two posts in a separate div
我正在使用高级自定义字段,我有一个关系字段,允许用户 select 三个 post 显示在页面上。
我希望能够将最后两个 posts selected 包装在一个单独的 <div>
到第一个 post.
这是我正在使用的示例循环:
<?php
$items = get_field('my_items');
if( $items ):
?>
<div class="my-items">
<?php foreach( $items as $item ): ?>
<div class="item">...</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
这给了我:
<div class="my-item">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
</div>
这是我想要的结果:
<div class="my-item">
<div class="item">...</div>
<div>
<div class="item">...</div>
<div class="item">...</div>
</div>
</div>
这可能吗?如果是这样,是否也可以反向执行此操作,以便包装前两项而最后一项不包装?
执行此类操作的最简单方法就是初始化一个计数器,然后在循环中的条件中使用它,最后递增计数器。下面的代码可以满足您的需求;
<?php
$items = get_field('my_items');
if( $items ):
$counter = 0;
?>
<div class="my-items">
<?php foreach( $items as $item ): ?>
<?php if ($counter == 1 ) { echo '<div>'; } ?>
<div class="item">...</div>
<?php if ($counter == 2 ) { echo '</div>'; } ?>
<?php counter++; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
如果您想包装前两项,则代码为;
<div class="my-items">
<?php foreach( $items as $item ): ?>
<?php if ($counter == 0 ) { echo '<div>'; } ?>
<div class="item">...</div>
<?php if ($counter == 1 ) { echo '</div>'; } ?>
<?php counter++; ?>
<?php endforeach; ?>
</div>
我正在使用高级自定义字段,我有一个关系字段,允许用户 select 三个 post 显示在页面上。
我希望能够将最后两个 posts selected 包装在一个单独的 <div>
到第一个 post.
这是我正在使用的示例循环:
<?php
$items = get_field('my_items');
if( $items ):
?>
<div class="my-items">
<?php foreach( $items as $item ): ?>
<div class="item">...</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
这给了我:
<div class="my-item">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
</div>
这是我想要的结果:
<div class="my-item">
<div class="item">...</div>
<div>
<div class="item">...</div>
<div class="item">...</div>
</div>
</div>
这可能吗?如果是这样,是否也可以反向执行此操作,以便包装前两项而最后一项不包装?
执行此类操作的最简单方法就是初始化一个计数器,然后在循环中的条件中使用它,最后递增计数器。下面的代码可以满足您的需求;
<?php
$items = get_field('my_items');
if( $items ):
$counter = 0;
?>
<div class="my-items">
<?php foreach( $items as $item ): ?>
<?php if ($counter == 1 ) { echo '<div>'; } ?>
<div class="item">...</div>
<?php if ($counter == 2 ) { echo '</div>'; } ?>
<?php counter++; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
如果您想包装前两项,则代码为;
<div class="my-items">
<?php foreach( $items as $item ): ?>
<?php if ($counter == 0 ) { echo '<div>'; } ?>
<div class="item">...</div>
<?php if ($counter == 1 ) { echo '</div>'; } ?>
<?php counter++; ?>
<?php endforeach; ?>
</div>