我正在尝试使用“高级自定义字段”中继器和“高级自定义字段”中继器来增加计数器,但是我还使用reset_rows()
重新进行循环以从ACF中获取更多内容。我可以让它们之一工作,但是当我尝试进行第二个while
循环时,它的值为0。
这是我到目前为止正在做的事情:
<?php if (have_rows('projects')) : $project_counter = 0; ?>
<?php while (have_rows('projects')): the_row(); ?>
<div>
<a href="#project-<?php echo $project_counter; ?>" class="project-link">Link to project</a>
</div>
<?php project_counter++; endwhile;?>
<?php reset_rows();?>
<?php while (have_rows('projects')): the_row(); $project_counter = 0; ?>
<div id="project-<?php echo $project_counter; ?>">
<p>Project Content</p>
</div>
<?php $project_counter++; endwhile;?>
<?php endif;?>
我认为我要挂断的地方是不确定reset_rows
之后的第二个增量应该在哪里,因为我知道它是在前面的if语句中定义的。
总体而言,我正在尝试使其呈现为:
<div>
<a href="#project-0" class="project-link">Link to project</a>
</div>
<div>
<a href="#project-1" class="project-link">Link to project</a>
</div>
<div>
<a href="#project-2" class="project-link">Link to project</a>
</div>
<div id="project-0">
<p>Project Content</p>
</div>
<div id="project-1">
<p>Project Content</p>
</div>
<div id="project-2">
<p>Project Content</p>
</div>
答案 0 :(得分:0)
要重置第二部分中的计数器,请将其放在while循环之前,例如;
<?php $project_counter = 0; while (have_rows('projects')): the_row(); ?>
答案 1 :(得分:0)
在第二个循环中,您将在每个“ while”开始时将$ project_counter重置为0,因此它只是逐渐增加为1,并且每次删除都设置为0,我认为您的代码应该运行。
此
<?php while (have_rows('projects')): the_row(); $project_counter = 0; ?>
对此
<?php $project_counter = 0;
while (have_rows('projects')): the_row(); ?>