我正在尝试在wordpress中输出完整大小的图像。这是我的代码:
<div class="content project clearfix">
<?php if( have_rows('galeria') ):
while ( have_rows('galeria') ) : the_row();
$image = get_sub_field('imagen');
$image_url = $image['sizes']['full'];?>
<img class="project-item" src="<?php echo $image_url; ?>">
<?php endwhile;
endif; ?>
</div>
问题是我收到以下错误:
Warning: Illegal string offset 'sizes' in /Users/user/Sites/diana/wp-content/themes/site/single.php on line 13
Warning: Illegal string offset 'full' in /Users/user/Sites/diana/wp-content/themes/site/single.php on line 13
我想使用width
和height
属性输出图像(这些attr是可变的,每个图像都有不同的大小)。就像这样:
<img class="project-item" src="img2.jpg" width="422" height="754">
答案 0 :(得分:1)
在高级自定义字段中(因为您正在使用get_sub_field(),这意味着您正在使用该插件),请更改您的imagen字段以返回返回值中的图像ID。
然后,在调用图片时,请尝试以下操作:
<div class="content project clearfix">
<?php if( have_rows('galeria') ):
while ( have_rows('galeria') ) : the_row();
$image = get_sub_field('imagen');
$image_url = wp_get_attachment_image_src( $image, 'full' );
$featImgURL = $featImgURL[0]; ?>
<img class="project-item" src="<?php echo $image_url; ?>">
<?php endwhile;
endif; ?>
</div>
答案 1 :(得分:1)
正如@Joe所提到的,你应该修改ACF图像字段以获得ID
而不是URL
。
然后,您将要使用wp_get_attachment_img_src()。这将返回一个包含:
的数组因此,在您的情况下,使用将是:
<div class="content project clearfix">
<?php if( have_rows('galeria') ):
while ( have_rows('galeria') ) :
the_row();
$image = get_sub_field('imagen');
$image_attributes = wp_get_attachment_image_src( $image, 'full' ); ?>
<img class="project-item" src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">
<?php endwhile;
endif; ?>
</div>
或者,您可以使用wp_get_attachment_image(),这样您就可以使用您所指的图像尺寸关键字。在这种情况下,使用方式如下:
<div class="content project clearfix">
<?php if( have_rows('galeria') ):
while ( have_rows('galeria') ) :
the_row();
$image = get_sub_field('imagen');
echo wp_get_attachment_image( $image, 'full' );
endwhile;
endif; ?>
</div>