Forums

Adding Custum Post Type Thumbnail to the Edit Screen. (4 posts)

  1. sputnick3k
    Member
    Posted 2 years ago #

    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 );
    
    }
  2. 10sexyapples
    Member
    Posted 2 years ago #

    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~

  3. 250
    Member
    Posted 2 years ago #

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

  4. 10sexyapples
    Member
    Posted 2 years ago #

    No problem, I'm glad you've got it working ;-)

Topic Closed

This topic has been closed to new replies.

About this Topic