0

我正在尝试使用 PHP 包装一些 div 圆形图像,以显示每个 div 最多 8 个图像。我正在使用自定义字段 WordPress 插件来提取团队的图像,但需要将它们包装在 div 中。我让它部分工作,但它没有显示其余部分的 div。我不确定这是否是最好的方法,但这是我下面的代码。

function team($i,$t){                       

    $values = get_field('team_member'.$i);



if($values["url"]){

$answer = $i / 8;

    if(is_int($answer)){

        echo '<div class="team'.$i / 8.'">'. "\r\n";
        echo $t;
        $t  =   '';
        echo '</div>'. "\r\n";

    }                           

    $t .='<a href="'.$values["url"].'" alt="'.$values["alt"].' Thumbnail" >'. "\r\n";
    $t .='<img src="'.$values["sizes"]["thumbnail"].'" alt="'.$values["alt"].'" />'. "\r\n";
    $t .='</a>'. "\r\n";                                
    $i = $i+1;

    team($i,$t);
    }

}

team(1,'');

我试图得到如下结果。

<div id="team">
    <div id="team1">
    <img 1>
    <img 2>
    ..
    <img 7>
    <img 8>
    </div>

    <div id="team2">
    <img 1>
    <img 2>
    ..
    <img 7>
    <img 8>
    </div>

    <div id="team3">
    <img 1>
    <img 2>
    ..
    <img 7>
    <img 8>
    </div>

    <div id="team4">
    <img 1>
    <img 2>
    <img 3>
    </div>
</div>
4

1 回答 1

1

您的方法令人困惑且难以阅读。看看这个例子,然后从那里开始。

$images = array('bear.jpg','cat.jpg','owl.jpg','dog.jpg','bird.jpg');
$itemsPerDiv = 3;
$count = 0;
echo '<div class="animal-row">';

foreach($images as $img)
{
    if ($count % $itemsPerDiv == 0 && $count != 0)
    {
        echo '</div><div class="animal-row">';
    }

    echo '<img src="'.$img.'">';

    $count++;
}

echo '</div>';

这将输出

<div class="animal-row">
    <img src="bear.jpg">
    <img src="cat.jpg">
    <img src="owl.jpg">
</div>
<div class="animal-row">
     <img src="dog.jpg">
     <img src="bird.jpg">
</div>

如果您需要解释这是如何工作的,请告诉我。我认为您的问题是您使用除法运算符而不是 MOD ,这在这种情况下更合适,因为它决定了您错过的余数。

于 2013-09-08T14:50:40.017 回答