0

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 2

1

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;

}

1
  • ah ok.. thank you. That is a very nice little function to have.
    – pfunc
    Nov 27, 2011 at 23:08
0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.