我正试图掌握foreach循环的艺术;我有下面的代码,用于WordPress和高级自定义字段插件。我想把它变成一个前轮。
<li data-thumb="<?php the_field('image_1'); ?>">
<img src="<?php the_field('image_1'); ?>" />
</li>
<li data-thumb="<?php the_field('image_2'); ?>">
<img src="<?php the_field('image_2'); ?>" />
</li>
<li data-thumb="<?php the_field('image_3'); ?>">
<img src="<?php the_field('image_3'); ?>" />
</li>
<li data-thumb="<?php the_field('image_4'); ?>">
<img src="<?php the_field('image_4'); ?>" />
</li>
<li data-thumb="<?php the_field('image_5'); ?>">
<img src="<?php the_field('image_5'); ?>" />
</li> 我已经尝试过编写下面的代码,但是它不起作用,我也不知道如何将循环限制为5(图像)。注意,get_field返回图像url,而the_field返回图像。
<?php
$i=1;
foreach (!empty (get_field('property_image.$i.')) ) {
print (' <li data-thumb="<?php the_field('property_image'.$i.'); ?>">
<img src="<?php the_field('property_image'.$i.'); ?> ">
</li> ');
$i++;
}
?>发布于 2015-12-11 19:41:39
在您的情况下,for循环更好,因为循环中的值是数字的。因此,解决办法将是:
for ($i = 1; $i<=5; $i++) {
$src = the_field('image_'.$i);
printf('<li data-thumb="%s">', $src);
printf('<img src="%s" />', $src);
print('</li>');
}如果您仍然希望使用foreach循环,那么您可以使用内置的php函数范围来获得所需的数字。
foreach (range(1, 5) as $i) {
$src = the_field('image_'.$i);
printf('<li data-thumb="%s">', $src);
printf('<img src="%s" />', $src);
print('</li>');
}https://stackoverflow.com/questions/34231163
复制相似问题