我有以下代码:
<?php
$images = get_post_meta(get_the_ID(), 'pointb_portfolio_images', false);
$i = 0;
foreach ($images as $att) {
$i++;
$src = wp_get_attachment_image_src($att, 'full');
$src = $src[0];
echo "<img src='$src' class='t$i'/>";
}
?>
我想做的是,对于每9张图片,在它们周围放置一个DIV容器。所以它会是:
<div>9 images here</div>
<div>next 9 images here</div>
<div>next 9 images here</div>
我有一个增量类应用于每个图像,这需要继续向上增加。
我一直在谷歌搜索试图找到解决方案,但我很难找到正确的搜索查询。
非常感谢任何帮助或提示,以便我能够完成我需要的任务。
由于
答案 0 :(得分:4)
您可以使用%
(模数)找到余数。所以你做的是你有if ($i % 9 == 0) ...
然后关闭9图像div并打开一个新图像。每9次循环,该表达式将验证为真。在循环开始之前还有一个开口<div>
,在完成循环之后还有一个结束</div>
。
<?php
$images = get_post_meta(get_the_ID(), 'pointb_portfolio_images', false);
$i = 0;
echo '<div>';
foreach ($images as $att) {
// Moved this to the front of the loop so we don't have any empty div groups
// in case 9 is a factor of the number
if ($i > 0 && $i % 9 == 0) {
echo '</div><div>';
}
$src = wp_get_attachment_image_src($att, 'full');
$src = $src[0];
// Added modulus to the class so now they will be t1, t2,... t8, t9, t1, t2...
echo "<img src='$src' class='t" . ($i % 9 + 1) . "'/>";
$i++;
}
echo '</div>';
?>
模数返回的示例
0 % 9 = 0
1 % 9 = 1
2 % 9 = 2
3 % 9 = 3
4 % 9 = 4
5 % 9 = 5
6 % 9 = 6
7 % 9 = 7
8 % 9 = 8
9 % 9 = 0
10 % 9 = 1
11 % 9 = 2