我使用的是ACF转发器,无法控制输出大小,包括Wordpress主题支持自定义图像大小
add_theme_support(\'post-thumbnails\');
add_image_size(\'large\', 700, \'\', true);
add_image_size(\'medium\', 250, \'\', true);
add_image_size(\'small\', 120, \'\', true);
add_image_size(\'custom-size\', 700, 200, true);
我当前正在使用图像url在ACF repeater字段中进行选择,因为我无法使用ID或对象获取要显示的图像。我花了数小时阅读与此主题相关的文章和问题,但找不到与我的代码相关的答案。这是我最近的一次尝试。
<?php foreach(get_field(\'landing_slideshow\') as $landing_slideshow) { ?>
<div class="landing-photo clear" style="background-image:url(\'<?php echo $landing_slideshow[\'landing_slide\'][\'sizes\'][\'medium\']; ?>\');">
</div>
<?php } ?>
我只是想使用“大”、“自定义大小”等指定图像输出大小。
提前谢谢。
最合适的回答,由SO网友:TheDeadMedic 整理而成
我总是将ACF设置为返回“ID”(而不是对象或URL)-这样ACF就不会参与(可能会用大量我不需要的数据填充对象),我可以随心所欲:
<?php
$landing_slideshows = get_field( \'landing_slideshow\' );
// var_dump( $landing_slideshows );
foreach( $landing_slideshows as $landing_slideshow ) : ?>
<div class="landing-photo clear"<?php
$image_id = $landing_slideshow[\'landing_slide\'];
$src = wp_get_attachment_image_src( $image_id, \'large\' );
// Only print style bg if image valid & exists, unlikely but good practice
if ( $src ) {
// $src is an array with 3 items: URL, width, height
printf( \' style="background-image: url(%s);"\', $src[0] );
}
?>><?php
// var_dump( $image_id );
// var_dump( $src );
?></div>
<?php endforeach ?>