• Resolved lagunas

    (@lagunas)


    Hello again!

    I wonder if anyone can help me with this.
    It seems like a simple thing to do, but I’ve been trying for hours now, and couldn’t get it to work.

    My custom post type is called ‘art’, and it has a ‘File / Image / Video’ custom field, where I can upload a single image file.
    I managed to get the attachment ID, and the image alt text, but I wasn’t able to find how to get the image caption and/or description.

    This is the code so far (in single-art.php) :

    $art = pods('art', get_the_id());
    $a_id = $art->field('ID');
    
    $img = get_post_meta( $a_id, 'a_img._src.full', true);
    $img_id = $art->field('a_img.ID', true);
    $img_alt = get_post_meta($img_id, '_wp_attachment_image_alt', true);
    $img_caption = get_post_meta($img_id, 'post_excerpt', true);
    
    echo '<img src="' . $img . '" Alt="' . $img_alt . '" />';
    echo '<p>' . $img_caption . '</p>';

    Any help will be much appreciated.
    Thank you!!

    https://wordpress.org/plugins/pods/

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Jim True

    (@jimtrue)

    Actually, the Image Caption isn’t a meta field, it’s a standard post field for the post type media. When you create a File/Image/Video upload, you’re creating a relationship to the Media Library.

    Once you create the link from the ID of the media, you should be able to get to your caption through $img_id->post_excerpt or $img_id->field('post-excerpt'). Likewise for the description, you’re going after the content through $img_id->post_content or $img_id->field('post-content').

    Let me know if that works!

    Thread Starter lagunas

    (@lagunas)

    Thanks for your answer!

    I tried $img_id->post_excerpt, but nothing happens.

    And if I use this code: $img_id->field('post-excerpt')
    I get the following error: Call to a member function field() on a non-object

    Am I missing something?

    Plugin Author Jim True

    (@jimtrue)

    Gotta love object based programming, huh?

    We may need to step back up one level to get into the actual ‘object’ reference of that image.

    Is a_img the field name in art that contains the reference to that particular image?

    Thread Starter lagunas

    (@lagunas)

    I’m not sure what you mean, I’m not very good at programming. Just trial and error.

    echo $img; displays the image URL correctly.
    echo $img_id displays the image ID correctly.

    Does that answer your question?

    Thread Starter lagunas

    (@lagunas)

    Got it!
    Here’s the code I used for image caption:
    $img_caption = $art->field('a_img.post_excerpt', true);

    Thank you so much for putting me on the right track!!

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Displaying image captions’ is closed to new replies.