WordPress / PHP - 如何在每9张图像周围包含一个容器div?

时间:2013-06-29 18:29:51

标签: php wordpress

我有以下代码:

<?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>

我有一个增量类应用于每个图像,这需要继续向上增加。

我一直在谷歌搜索试图找到解决方案,但我很难找到正确的搜索查询。

非常感谢任何帮助或提示,以便我能够完成我需要的任务。

由于

1 个答案:

答案 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