WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When the_content print attachment images (attachment template) it automatocally displays the picture. Is there a hook to specify the width and height of the image displayed?

share|improve this question
Do you mean that you want to add the attributes height and width to the image tag? – Lea Cohen Apr 28 '11 at 5:46
Yes but in the_content. – José Pablo Orozco Marín Apr 28 '11 at 14:09
up vote 2 down vote accepted

I believe this is what your looking for. The complete code can be found in twentyten's loop-attachment.php template. Look for the <p class="attachment"> tag. There are two filters there. One for width and the other for height (currently set to 900px for both).

<?php if ( wp_attachment_is_image() ) :
$attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
foreach ( $attachments as $k => $attachment ) {
    if ( $attachment->ID == $post->ID )
// If there is more than 1 image attachment in a gallery
if ( count( $attachments ) > 1 ) {
    if ( isset( $attachments[ $k ] ) )
        // get the URL of the next image attachment
        $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
        // or get the URL of the first image attachment
        $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
} else {
    // or, if there's only 1 image attachment, get the URL of the image
    $next_attachment_url = wp_get_attachment_url();
                    <p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php
                        $attachment_width  = apply_filters( 'twentyten_attachment_size', 900 );
                        $attachment_height = apply_filters( 'twentyten_attachment_height', 900 );
                        echo wp_get_attachment_image( $post->ID, array( $attachment_width, $attachment_height ) ); // filterable image width with, essentially, no limit for image height.

                    <div id="nav-below" class="navigation">
                        <div class="nav-previous"><?php previous_image_link( false ); ?></div>
                        <div class="nav-next"><?php next_image_link( false ); ?></div>
                    </div><!-- #nav-below -->
<?php else : ?>
                    <a href="<?php echo wp_get_attachment_url(); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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