Top

How to Add Post Thumbnails to the WordPress Post and Page Management Screens

May 9, 2011

If you’re producing a lot of content on your WordPress site, it can be handy to see the main image associated with each post when viewing the post or page listing screen. Adding in the post thumbnail creates a visual association for each post or page.

Here’s a quick tip I found over at the WordPress Stack Exchange.

So here’s the default posts management page, as you know it:

After you add the code included here, your page management screen will change to include a column for the post thumbnails associated with each post:

Here’s how to add in the post thumbnails. Simply copy the code below and paste it into your themes’s functions.php file:

/****** Add Thumbnails in Manage Posts/Pages List ******/
if ( !function_exists('AddThumbColumn') && function_exists('add_theme_support') ) {
    // for post and page
    add_theme_support('post-thumbnails', array( 'post', 'page' ) );
    function AddThumbColumn($cols) {
        $cols['thumbnail'] = __('Thumbnail');
        return $cols;
    }
    function AddThumbValue($column_name, $post_id) {
            $width = (int) 60;
            $height = (int) 60;
            if ( 'thumbnail' == $column_name ) {
                // thumbnail of WP 2.9
                $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
                // image from gallery
                $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
                if ($thumbnail_id)
                    $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
                elseif ($attachments) {
                    foreach ( $attachments as $attachment_id => $attachment ) {
                        $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
                    }
                }
                    if ( isset($thumb) && $thumb ) {
                        echo $thumb;
                    } else {
                        echo __('None');
                    }
            }
    }
    // for posts
    add_filter( 'manage_posts_columns', 'AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'AddThumbValue', 10, 2 );
    // for pages
    add_filter( 'manage_pages_columns', 'AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'AddThumbValue', 10, 2 );
}

If you’d like to make the thumbnails a different size, you can change the $width and $height values in the code above. You can even enlarge it to a few hundred pixels so that the post thumbnail is the strongest identifying factor of the listing.

Click save and then go visit your post or page management screens. You should see the new post thumbnails column. That’s all you need to do. Pretty simple, wasn’t it?

Comments

Got something to say?

Bottom
Article Archive  |  This site is a historical archive of pressography.com, a WordPress plugin and theme blog that published between 2006 and 2012. It is preserved for reference and is not operated by, affiliated with, or endorsed by its original authors. Nothing here is for sale and no form on this site is active. If you are the original owner and would like this domain returned, please get in touch.