2

I am trying to add a column in the edit post screen that shows any attached media. I found this code to do it with tags, but don't know how to change it to do Media attachments instead.

//add media column to edit post screen
add_action('media_buttons_context','zg_post_buttons');
function add_tag_column($posts_columns) {

 // Add a new column
$posts_columns['att_tag'] = _x('Tags', 'column name');
return $posts_columns;
}

function manage_attachment_tag_column($column_name, $id) {
switch($column_name) {
case 'att_tag':
$tagparent = "upload.php?";
$tags = get_the_tags();
if ( !empty( $tags ) ) {
$out = array();
foreach ( $tags as $c )
$out[] = "<a href='".$tagparent."tag=$c->slug'> " .   
esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) .  
"</a>";
echo join( ', ', $out );
} else {
_e('No Tags');
}
break;
default:
break;
}
2

you can create a column of post_thumbnail like so:

// ADDING THUMBNAIL TO EDIT SCREEN
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {

    // for post and page
    add_theme_support('post-thumbnails', array( 'post', 'page' ) );

    function fb_AddThumbColumn($cols) {

        $cols['thumbnail'] = __('Thumbnail');

        return $cols;
    }

    function fb_AddThumbValue($column_name, $post_id) {

        $width  = (int) 100;
        $height = (int) 100;

        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', 'fb_AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

    // for pages
    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}

and to add this column to custom post type just add your post type to

add_theme_support('post-thumbnails', array( 'post', 'page','mycustom' ) );

and and action and filter hooks

add_filter( 'manage_mycustom_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_mycustom_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

Hope this helps

|improve this answer|||||
  • are you kidding? That is awesome. But what if it's a video or audio media attachment? – Ann Feb 16 '11 at 17:25
  • Thank you for this piece of code. Works perfectly by copy-pasting into the themes functions.php :-) – Lars Koudal Aug 16 '12 at 13:18
  • What happened to the markup there? :) – kaiser Jul 11 '14 at 20:34
  • No idea, but its fixed now, thanks – Bainternet Jul 13 '14 at 8:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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