16

I'm wondering if it's possible in the single.php template to use the width of the post's featured image elsewhere in the page.

What I'm trying to do is add a div element on the page with the same width as the post's featured image (which will always be a different width).

If anyone has any ideas, let me know.

Thanks

1 Answer 1

31

Try the following. First, add this piece of code to the template:

<?php $image_data = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "thumbnail" ); ?>

$image_data will now return an array containing the url, width, and height (function reference). To get the width, you might do this:

<?php $image_width = $image_data[1]; ?>

In your specific example, after adding the two pieces of code above to your template, you might do this:

<div style="width:<?php echo $image_width; ?>">

Is that helpful?

3
  • That's incredibly helpful, worked like a charm. Thanks.
    – user5710
    Commented May 26, 2011 at 17:18
  • You are most welcome! Glad you joined us on the WordPress Stack Exchange :). Commented May 26, 2011 at 22:33
  • @jonathan-wold This only gets the data for the 1st image in the loop, not all post thumbnails Commented Jun 17, 2021 at 6:20

Your Answer

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

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