我正在尝试从具有自定义图像大小的ACF获取图像URL以回显JSON。
在我尝试查询数据时,不确定为什么它会以false
返回。
这就是我所拥有的:
args = array(
'post_type' => 'people',
'post_status' => 'publish',
'posts_per_page' => -1,
'order' => 'ASC'
);
$query = new WP_Query( $args );
$people_out = array();
while( $query->have_posts() ) : $query->the_post();
$image = get_field('photo');
$size = "medium";
$img = wp_get_attachment_image_src( $image, $size );
$people_out[] = array(
'name' => get_the_title(),
'email' => get_field('email'),
'image' => $img
);
endwhile;
wp_reset_query();
echo json_encode( $people_out );
不确定使用wp_get_attachment_image_src
是否正确或者我是否认为这一切都是错误的。
答案 0 :(得分:0)
wp_get_attachment_image_src
返回数组(url, width, height, is_intermediate)
,如果没有可用的图片,则返回false。
因此,请确保您使用acf函数get_field()
获得的字段名为照片
答案 1 :(得分:0)
进行了更多挖掘并意识到get_field('photo');
将返回所有必要的数据如果图像字段设置为ImageID。
我设置后,我就可以使用get_field('photo');
,然后在没有wp_get_attachment_image_src
的情况下检索所有信息。
所以我现在需要的就是这个:
$image = get_field('photo');
$img = $image['sizes']['medium'];
而不是:
$image = get_field('photo');
$size = "medium";
$img = wp_get_attachment_image_src( $image, $size );