Let’s say you want to be sure every single post, in ever single post type, has a featured image. And you know someone might forget but you don’t want to have to open up every damn post to see.
There are a lot of answers to this problem, and I love that there’s a plugin that will add in a Featured Image Column that shows a teeny featured image. But it wasn’t what I wanted. It was over kill.
All I needed was a simple check mark for if there was an image and an X if there wasn’t, and that would suit me fine. And I wanted the column to be small, without a lot of fuss or folderol. I wanted something simple:
That gives me a fast overview of if everything is what I wanted and where I wanted.
The Code
The code itself is the most basic column code, with a little bit of magic to put it as the first column on the list. Since I want to show this on all post types, I used the generic functions.
/* * Show mark if featured image is set * * @since 1.1 */ add_filter('manage_posts_columns', 'helf_fi_manage_posts_columns'); function helf_fi_manage_posts_columns( $columns ) { if ( !is_array( $columns ) ) $columns = array(); $new_columns = array(); foreach( $columns as $key => $title ) { if ( $key == 'title' ) $new_columns['featured_image'] = '<span class="dashicons dashicons-camera"></span>'; $new_columns[$key] = $title; } return $new_columns; } add_action('manage_posts_custom_column', 'helf_fi_manage_posts_custom_column', 10, 2); function helf_fi_manage_posts_custom_column( $column_name, $post_ID ) { if ($column_name == 'featured_image') { $post_featured_image = helf_fi_manage_column_check( $post_ID ); $output = '<span class="dashicons dashicons-no"></span>'; if ( $post_featured_image && $post_featured_image == true ) $output = '<span class="dashicons dashicons-yes"></span>'; echo $output; } } function helf_fi_manage_column_check( $post_ID ) { $post_thumbnail_id = get_post_thumbnail_id( $post_ID ); $post_thumbnail_img = false; if ( $post_thumbnail_id ) $post_thumbnail_img = true; return $post_thumbnail_img; } add_action( 'admin_print_scripts', 'helf_fi_admin_print_styles' ); function helf_fi_admin_print_styles(){ echo ' <style> th#featured_image, td.featured_image.column-featured_image { max-height: 25px; max-width: 25px; width: 25px; color: #444; } td.featured_image span.dashicons-no { color: #dc3232; } td.featured_image span.dashicons-yes { color: #46b450; } div#screen-options-wrap.hidden span.dashicons-camera { padding-top: 5px; } </style>'; }
Fork and enjoy!
Comments
One response to “Show Featured Images on Post List”
This is exactly what 99% of plugins should be. SIMPLE!!!
Thanks for sharing. This is a great addition to the post list for client sites.