如何解决ACF Pro中继器-行索引和总计数前导零
问与答
这是我对ACF Pro的中继器字段的问答环节,以及如何输出当前行数以及总的总计数(带或不带前导零)(例如1、2、3与01、02、03)。
问题1
使用ACF Pro的repeater字段和ACF get_row_index 函数,我将Repeater字段中每个项目的编号输出到页面上。 (例如1、2、3、4 ...),我这样做是:
<p><?php echo get_row_index(); ?></p>
然后我意识到,如果该数字小于或等于9(例如01、02、03),则该设计要求在 get_row_index 函数返回的数字前加一个前导零(0)。 ,04,05,06,07,08,09,10,11 ..)。
有关答案,请参见下面的解决方案1 。
问题2
接下来,我想输出总行数,就像这样:
(计数功能在while循环之外很重要)
$number_of_items = count($myRepeaterField);
<p><?php echo $number_of_items ?></p>
我再次发现设计也要求总计数的前导零。
请参见下面的解决方案2 。
解决方法
解决方案1
要在 get_row_index 函数前面输出前导零,可以执行以下操作:
<p><?php echo str_pad(strval(get_row_index()),2,'0',STR_PAD_LEFT); ?></p>
解决方案2
要在转发器字段的项目总数 count 前输出前导零:
<p><?php if ($number_of_items < 9){echo('0');} ?><?php echo $number_of_items ?></p>
我希望这些信息能对某人有所帮助,因为它花了一段时间才能通过各种Google搜索和论坛搜索来发现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。