Home Forums General Issues Using ACF field as Image Caption


Using ACF field as Image Caption

  • Does anyone know if this is possible: I’d like to create an ACF field for Photo Credit. I would assign that field to attachments, so that when I upload an image, I can select either a WP user (ACF User Field) or the photographer isn’t a WP user add some text (ACF Text field) denoting the name of the photographer.

    What I’d like to do is then automatically add that below a photo when there are values. I’m having trouble getting that to work. I think what I want is the img_caption_shortcode filter. Something like:

    add_filter(‘img_caption_shortcode’, ‘caption_shortcode_with_photog’, 10, 3);

    But I haven’t managed to get it to work.

    Might anyone know how this could be done who could steer me in the right direction?


  • Hi @davidzack,

    Yup, you’re right – you can utilize img_caption_shortcode! The example from the WordPress codex is a good skeleton structure to work off of to add the markup you’d like to.

    Something to keep in mind is that you’ll need to pass a second parameter when getting your photo_credit field to target the media it is attached to.

    One way of getting the appropriate ID is to use preg_match & regex to split the number off before the $attr are defined in that example:

    preg_match( '/(\d+)$/', $attr['id'], $matches );
    $media_id = $matches[1];
    $credit = get_field( 'your_field_name', $media_id );

    From there you can add conditionals how you’d like & place it where you’d like within your markup. Let me know how it pans out!

    • adrolli

    • February 10, 2019 at 4:04 am

    Exactly what I searched for but unfortunately neither image_send_to_editor nor img_caption_shortcode seems to work with Gutenberg. Is there any known option to use the ACF fields in media files with Gutenberg (except developing own blocks)?


Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.

We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.