我想使用转发器字段以列表形式显示内容和图像块。但是,我不想为所有图像使用一种裁剪尺寸。
例如:
List item 1: Image size 1
List item 2: Image size 2
List item 3: Image size 2
List item 4: Image size 3
这甚至可能吗?
我目前使用的标记是:
<ul>
<?php while( have_rows('home-features') ): the_row();
// vars
$image = get_sub_field('image');
$description = get_sub_field('description');
$url = get_sub_field('url');
?>
<li>
<a href="<?php echo $url; ?>">
<div>
<h3><?php echo $description; ?></h3>
</div>
</a>
</li>
<?php endwhile; ?>
</ul>
答案 0 :(得分:0)
如果您希望能够为每个转发器元素分配特定的图像大小,为什么不在转发器中添加另一个ACF子字段并选择图像大小?
你新的&#34;图像尺寸&#34; (image_size
)选择子字段选择可以是这样的:
thumbnail : Thumbnail
medium : Medium
medium_large : Medium Large
large : Large
full : Full Size
如果您愿意,可以替换自己的自定义图片尺寸,只要每个选择项的值与自定义图片尺寸$name
值(see codex for reference)相对应。
然后在你的循环中:
<ul>
<?php while( have_rows('home-features') ): the_row();
// make sure the ACF return format is set to 'image array' on the image field
$image = get_sub_field('image');
// new select field described above
$size = get_sub_field('image_size');
// put the two together using the image array values
$img_url = $image['sizes'][ $size ];
$description = get_sub_field('description');
$url = get_sub_field('url');
?>
<li>
<a href="<?php echo $url; ?>">
<div>
<img src="<?php echo $img_url; ?>">
<h3><?php echo $description; ?></h3>
</div>
</a>
</li>
<?php endwhile; ?>
</ul>
<强>参考强>
注意:强> 我还没有测试过这段代码,请告诉我你是否有任何问题!