结合php循环和计数-Wordpress ACF
我想知道是否有人能帮我组合两段代码。我有一个块在项目中循环,另一个块的开头显示计数,希望通过每两个项目在项目周围添加一个div,我能够显示在行中循环的项目。。。这是代码的第一位,循环:结合php循环和计数-Wordpress ACF,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我想知道是否有人能帮我组合两段代码。我有一个块在项目中循环,另一个块的开头显示计数,希望通过每两个项目在项目周围添加一个div,我能够显示在行中循环的项目。。。这是代码的第一位,循环: <?php if(get_field('areas')): ?> <?php while(has_sub_field('areas')): ?> <div class="single-area-item
<?php if(get_field('areas')): ?>
<?php while(has_sub_field('areas')): ?>
<div class="single-area-item six columns">
<p> <img src="<?php the_sub_field('area_icon'); ?>" style="width:100%;"> <p>
<h4> <?php the_sub_field('area_title'); ?> </h4>
<p> <?php the_sub_field('area_info'); ?> <p>
</div>
<?php endwhile; ?>
<?php endif; ?>
“style=”宽度:100%;“>
我正在使用Wordpress的高级自定义字段,这是对repeater字段的一个接一个地显示
下面是我找到的代码,希望能按行显示它们
<?php
$num = 1;
foreach ( $terms as $term ) {
if($num%2) {
echo '<div class="area-row">';
}
// Other Code
if($num %2) {
echo '</div>';
}
$num++
}
?>
我想把它们显示成两行
一二
三四
五六
等等
所以,我猜我需要以某种方式组合代码…我目前有这样一个:但它似乎不起作用:
<?php
$num = 1;
foreach ( $terms as $term ) {
if($num%2) {
echo '<div class="area-row">';
}
if(get_field('areas')): ?>
<?php while(has_sub_field('areas')): ?>
<div class="single-area-item six columns">
<p> <img src="<?php the_sub_field('area_icon'); ?>" style="width:100%;"> <p>
<h4> <?php the_sub_field('area_title'); ?> </h4>
<p> <?php the_sub_field('area_info'); ?> <p>
</div>
<?php endwhile; ?>
<?php endif; ?>
if($num %2) {
echo '</div>';
}
$num++
}
?>
“style=”宽度:100%;“>
如果($num%2){
回声';
}
$num++
}
?>
好的,看来这其中有几个简单的问题,您在if声明之后关闭了php标记,然后继续编写php,而没有重新打开php标记。if($num%2)语句也有一个轻微的逻辑错误,因为其中一个需要是if,另一个需要是if,所以备用的
试试这段代码,让我知道你的进展:
<?php
if(get_field('areas')):
$num = 1;
?>
<?php while(has_sub_field('areas')):
if($num%2) {
echo '<div class="area-row">';
} ?>
<div class="single-area-item six columns">
<p> <img src="<?php the_sub_field('area_icon'); ?>" style="width:100%;"> <p>
<h4> <?php the_sub_field('area_title'); ?> </h4>
<p> <?php the_sub_field('area_info'); ?> <p>
</div>
<?php
if(!$num%2) {
echo '</div>';
}
$num++
endwhile; ?>
<?php endif; ?>
“style=”宽度:100%;“>
这个问题背后的主要原因是我能够针对循环项目的第三个项目,因为它上面有填充物,破坏了我需要删除的行
从那以后,我找到了另一个似乎有效的解决方案
通过使用第n个子元素,我能够针对并删除循环通过的每三个项目上的填充-修复问题
.single-area-item:nth-child(3n+3) {
margin-left: 0;
}
这是针对行或2个项目,如果是3行或4行,则需要分别针对第4项或第5项。当你说它似乎不起作用时,你的意思是什么?你实际得到的输出是什么?Hi@ben我恐怕没有得到任何输出,当我尝试该代码时,网站不会加载并显示白色空白页面。这是整个模板文件吗?不,这不是整个模板文件,这只是我遇到问题的代码…这是只有第一块代码的页面…我的问题是,第三个下拉项的左侧有填充,将其他项向下推一行…非常感谢@Ben,但它似乎也不起作用-再次是Im加载时得到一个空白的白页…这是否意味着某个地方或某物缺少结束标记?我不确定这是否是最好的方法,但我实际上已设法使用第n个子元素使其正常工作!…单个区域项:第n个子项(3n+3){左边距:0;}如果只是删除填充,这是一个很好的解决方案。令人沮丧的是,我们无法解决潜在的问题啊-这是我有问题的转发器字段,我可以让它与正常的自定义帖子类型一起工作…我将添加第n个孩子作为答案。非常感谢您花时间查看