Support » Fixing WordPress » Adding Custum Post Type Thumbnail to the Edit Screen.

  • I am adding a few Custom Post Types and they have Post Thumbnails. I would like to add a preview of the thumbnail on the Dashboard/Edit screen that displays all the posts. I found how to show Custom Fields and how to add Thumbnails to the normal post view but can’t seem to find them for Custom post types. Can anyone help me.

    My registered post type is called

    Banners

    .

    I found the below code that works great for regular posts and pages but can anyone tell me how to do the same thing with Custom Post Types? Thanks.

    // 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 );
    
    }
Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi there …

    change this –

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

    to this –

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

    Of course, make sure banners and not banner is your actual registered post type name.

    And then, from what I can see here regarding the necessary associated hooks and filters …

    http://adambrown.info/p/wp_hooks/hook/manage_%7B$post_type%7D_posts_columns?version=3.0&file=wp-admin/includes/template.php

    I believe you can just change this –

    // 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 );

    to this –

    // 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 );
    
    // for banners
    add_filter( 'manage_banners_posts_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_banners_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

    You might need to do a little more research on those actions and filters though, as well as making sure this is for non-hierarchical custom post types.

    Hope that helps~

    I was looking for this. This is working great. Thank you!

    No problem, I’m glad you’ve got it working 😉

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Adding Custum Post Type Thumbnail to the Edit Screen.’ is closed to new replies.