将ACF图像大小和URL解析为JSON

时间:2016-12-08 22:15:56

标签: php json wordpress advanced-custom-fields

我正在尝试从具有自定义图像大小的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是否正确或者我是否认为这一切都是错误的。

2 个答案:

答案 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 );