TransWikia.com

wp_get_attachment_image_src() with advanced custom fields returning empty

WordPress Development Asked by pfunc on December 17, 2021

I am using the advanced custom fields plugin to upload images for an image gallery. I am attempting to retrieve the different sizes of images that are saved in the uploads folder and having problems.

$image = wp_get_attachment_image_src(get_sub_field(‘image’), ‘full’);

When I echo out the results of this I get nothing. I know that the images are being saved as different sizes because I can see them in the uploads folder and the get_sub_field(‘image’) is returning the proper image src.

Is there anything else I need to do to get this to work?

2 Answers

I can almost guarantee that you have the ACF field setting to return "Image URL" instead of "Image ID".

This was the case for me anyway. Once I switched the setting (below) to "Image ID", my problem was solved.

enter image description here

Answered by Chris S on December 17, 2021

What's in get_sub_field('image')? wp_get_attachment_image_src() parameter 1 should be the attachment id, not the attachment src, if that's what you have.

I use the following function to get an attachment ID from an image url as as far as I know WP doesn't have a method for this at present.

function get_attachment_id_from_src ($src) {
    global $wpdb;

    $reg = "/-[0-9]+x[0-9]+?.(jpg|jpeg|png|gif)$/i";

    $src1 = preg_replace($reg,'',$src);

    if($src1 != $src){
    $ext = pathinfo($src, PATHINFO_EXTENSION);
    $src = $src1 . '.' .$ext;
}

$query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$src'";
$id = $wpdb->get_var($query);

return $id;

}

Answered by patnz on December 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP