基于多项计数定义网格

时间:2016-08-07 23:21:54

标签: php advanced-custom-fields

希望解决问题我正在使用WordPress高级自定义字段的Repeater字段动态定义类。我已经做了一些挖掘,但是找不到具有我正在寻找的特异性的资源。

我正在显示一系列投资组合图片,并根据我想在基金会网格中为某些照片提供特定类名的数量。基本上我想要做以下事情:

  • 对于第1-4项:应用一个大型6
  • 对于5+项:应用一个大型4
  • 如果只有1项:申请一个大型的8级

我已经能够得到前两个例子,但是我在定义第三组参数时遇到了麻烦。我尝试了很多不同的路线,但我不确定此时最好的路线。请参阅下面的示例,了解我要完成的内容以及我的代码示例。

感谢任何建议!

Mockup

psql -h 0.0.0.0 -p 5433 -U postgres

1 个答案:

答案 0 :(得分:1)

你的问题对我来说不够清楚,因为你说申请一个大的申请一个小的类,但是在你的代码中你使用{{1还有.large-6

无论如何,假设你想要实现的目标(根据你的形象),你的PHP代码应该是这样的:

.large-8

注意:在每次迭代中,您正在重置为 iterator 索引(在您的情况下为<div class="row portfolio-examples"> <?php if (have_rows('portfolio_examples')) : /* We need to know the total number * of rows in your repeater since you have * a case where there's only one item. */ $portfolio = get_field('portfolio_examples'); $count = is_array($portfolio) ? count($portfolio) : 0; $index = 0; while (have_rows('portfolio_examples')) : the_row(); if ($count == 1) : /* Place here your code for when * there's only 1 item in your portfolio. */ ?> <div class="medium"><!-- Medium item --></div> <?php elseif ($count > 1 && $index <= 3) : // Code for your first 4 items ?> <div class="large"><!-- Large item --></div> <?php elseif ($count > 1 && $index > 3) : // Code for your 5+ items ?> <div class="small"><!-- Small item --></div> <?php else : // There are no items in your portfolio. endif; $index++; endwhile; endif; ?> </div> )。此外,您正在递增未定义的$count(不是$counter)。