← Back to list

The WordPress Admin Has Never Shown Your Featured Images

The image that decides how every post looks on every share lives in postmeta, and the admin list never renders postmeta. Here is what that…

Lucasfenw · 2026-07-19 05:24 · 0 claps · 4.0 min read
#wordpress #wordpress-plugins #wordpress-web-development #wordpress-development #wordpress-themes
Open on Medium ↗
Wiki topics: 🌐 · Web Development 📰 · Journalism & News

The WordPress Admin Has Never Shown Your Featured Images

The image that decides how every post looks on every share lives in postmeta, and the admin list never renders postmeta. Here is what that blind spot costs, the five-line code fix, and the one-checkbox version with a built-in audit trick.

Column Thumbnail Image for WordPress

Column Thumbnail Image for WordPress

Show featured images in the WordPress admin post list by enabling Custom Admin Columns in WP Adminify: go to WP Adminify > Productivity, turn on Custom Admin Columns, tick Show Post Thumbnails Column, and a Thumbnail column appears in your Posts list, with an optional default Column Thumbnail Image for posts that have no featured image set. WordPress core has never shown featured images in the Posts list because the featured image is a _thumbnail_id record in postmeta, and the admin list table renders posts-table fields and taxonomy links but never postmeta, so the only built-in way to check featured images is opening posts one by one.

That paragraph is the answer. What follows is the part the how-to posts skip, why the column was never there, what the gap quietly costs, and why the default image is the actually interesting bit.

The list shows everything except how the post looks

Open your Posts list and read the columns. Title, author, categories, tags, comment count, date. Every administrative fact about the post, and not one pixel of the thing readers and algorithms judge it by. The featured image drives the theme card, the Facebook and X share preview, the Google Discover slot. It is the face of the post everywhere except the screen where you manage the post.

Twenty years of WordPress, and that column has never existed.

Why: the image was never in the post

Set a featured image and WordPress stores one thing:

_thumbnail_id = 42    // one postmeta row, pointing at an attachment ID

The post record does not change. The image is a reference in a side table. The frontend reads it constantly, [get_the_post_thumbnail()](https://developer.wordpress.org/reference/functions/get_the_post_thumbnail/) on every card, the SEO plugin reads it for og:image on every share. The admin list table renders posts-table fields and taxonomy links, and it never renders postmeta. Not this meta field, not any meta field.

The featured image is rendered everywhere except the one screen where you manage posts, because it is postmeta, and the admin list does not do postmeta.

This is the sentence the tutorials forget to say.

What the blind spot costs

A post with no featured image is not a cosmetic miss. It shares blank or with a random fallback on social. It renders as an empty card in most theme archives. And Google Discover, which favors images at least 1200px wide, effectively passes over it.

The trap is that those posts are invisible in exactly the screen where you would catch them. No column, no signal, no audit. You find the broken ones one embarrassing blank share at a time.

The code route, and its fine print

Adding the column yourself is a filter and an action, about five lines for posts, using the [manage_{$post_type}_posts_columns](https://developer.wordpress.org/reference/hooks/manage_post_type_posts_columns/) hook:

add_filter('manage_posts_columns', function ($columns) {
    return ['thumb' => 'Thumbnail'] + $columns;
});

add_action('manage_posts_custom_column', function ($column, $post_id) {
    if ($column === 'thumb') {
        echo get_the_post_thumbnail($post_id, [60, 60]);
    }
}, 10, 2);

Then the fine print arrives. Pages need their own filter. Every custom post type needs its own filter. A post with no image renders an empty cell, no fallback, so the audit signal is a blank you can scroll past. The column width wants admin CSS. And the snippet lives in functions.php, which means it dies on theme switch unless you promote it to a must-use plugin. Five lines becomes a small maintenance surface.

The checkbox route, and the audit trick

I ran this pass with WP Adminify’s Productivity module. One toggle, Custom Admin Columns, one checkbox, Show Post Thumbnails Column, and the Posts and Pages lists show a thumbnail per row.

The detail that upgrades it from cosmetic to audit: the same panel has a Column Thumbnail Image option, a default image shown wherever no featured image is set. Which means every gap marks itself. Scroll the list once, and each row showing the default image is a post that is sharing blank on social right now. That is your fix list, produced by scrolling.

The same settings panel carries the other list-screen columns you would otherwise snippet in one at a time, post and page IDs, last login for users, taxonomy IDs, all documented on the Custom Admin Columns docs page. If you outgrow the checkbox, the standalone Admin Columns Editor builds columns for arbitrary fields, and this rundown of necessary admin columns for WordPress is a sane map of which columns earn their width. The wider Productivity toolset lives in the same place. And once the column shows you which images are wrong rather than missing, the replace-image-without-changing-URL workflow is the companion move, swap the file, keep the URL.

The two conditions I put on it

First, the column adds one thumbnail request per row to the list screen. WordPress serves the small registered thumbnail size, so it is minor, but a 200-row list on slow hosting will feel it. Second, and this is the one to internalize: the default image marks a missing featured image, it does not set one. The row looks filled in the admin while the post still shares blank in the world. The column finds the work. It does not do the work.

Run the audit once and it stops being abstract: sort the list, scan for the default image, count the rows. That number is how many of your posts are currently invisible to Discover and blank on every share. Most people who run it once keep the column on permanently.

Demo Shorts

Docs: Show Post Thumbnails Column in WP Adminify

Related, and part of the same admin control set: the Admin Columns Editor, the necessary admin columns rundown, the Productivity toolset, and the replace-image workflow.

Core references: [get_the_post_thumbnail()](https://developer.wordpress.org/reference/functions/get_the_post_thumbnail/), [manage_{$post_type}_posts_columns](https://developer.wordpress.org/reference/hooks/manage_post_type_posts_columns/), Google Discover image guidance.

adminify


메타데이터
post_id
fa1e75a08bf8
slug
the-wordpress-admin-has-never-shown-your-featured-images-fa1e75a08bf8
url
https://medium.com/@lucasfenw/the-wordpress-admin-has-never-shown-your-featured-images-fa1e75a08bf8
canonical_url
https://medium.com/@lucasfenw/the-wordpress-admin-has-never-shown-your-featured-images-fa1e75a08bf8
author_url
https://medium.com/@lucasfenw
status
ok
fetched_at
2026-07-22 13:40:40