dd

wordpress后台所有文章列表显示缩略图


wordpress在默认情况下后台的文章列表是没有缩略图这个选项的,如果我们要查看文章是否有缩略图只能点击文章详情页去查看,那有没办法让我们能在后台的文章列表中就可以看到文章是否有缩略图呢?答案是当然可以。我们先来看下最终实现的列表的效果图:
sltlb
下面我们就来看下wordpress后台文章列表如何显示缩略图
打开你主题的functions.php文件添加如下代码:

if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
    
    // 在文章列表页与页面列表页添加缩略图列表
    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) 35;
            $height = (int) 35;
            
            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');
                    }
            }
    }
    
    // 文章页调用
    add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
    
    // 页面调用
    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}