Featured Images Stopped Showing
Featured images disappearing usually happens after a theme change, a migration, or a plugin update. The image is almost always still there — something between the database and the page has broken.
The short version
- Check whether the Featured Image box still appears in the editor.
- If it does, the image is set and the theme is not displaying it.
- If the path is wrong, it is a migration problem.
- Missing sizes need thumbnail regeneration.
1. Does the theme support them?
If the Featured Image panel is missing from the post editor entirely, the active theme has not declared support:
add_theme_support( 'post-thumbnails' );
Put that in your child theme’s functions.php. Most modern themes do this already, but a minimal or custom theme may not.
2. Set but not displayed
If the image is set in the editor and absent on the front end, the template is not outputting it. The theme either does not call it, or a plugin has removed it:
// in the template loop
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'large' );
}
Check whether a plugin is filtering it away — some SEO and layout plugins hide featured images on single posts to avoid duplication, and the setting is easy to miss.
3. The path is wrong
Common after a migration. Open the image URL directly in a browser. If it 404s, the file is missing or the URL is wrong:
wp search-replace 'http://oldsite.com' 'https://newsite.com' --all-tables --dry-run
If the URL is right but the file is genuinely absent, the uploads directory did not transfer completely. Re-sync it.
4. Missing image sizes
Every theme registers its own sizes. A new theme asks for a size that was never generated for your existing images, so nothing is output:
# regenerate every registered size
wp media regenerate --yes
# just one post's attachments
wp media regenerate 123 --yes
On a large library this takes a long time and consumes significant disk. Run it when you can leave it, and check your inode headroom first.
5. Lazy loading conflict
Two lazy-loading implementations — WordPress core plus a plugin — can produce an image element with no usable source. The symptom is a blank space exactly where the image should be, rather than a broken-image icon.
Disable the plugin’s lazy loading and rely on core, or disable core’s and rely on the plugin. Not both.
// disable core lazy loading if a plugin handles it
add_filter( 'wp_lazy_loading_enabled', '__return_false' );
Diagnosis
| Symptom | Cause |
|---|---|
| No Featured Image box in the editor | Theme support missing |
| Set in editor, absent on front end | Template or a plugin filter |
| Broken image icon | Wrong path or missing file |
| Blank space where the image should be | Lazy loading conflict |
| Works on some posts only | Missing sizes for older uploads |
| Started after a theme change | New sizes — regenerate thumbnails |
Common questions
Will regenerating thumbnails affect SEO?
No. The URLs of existing sizes do not change; new sizes are added.
Can I delete unused sizes?
Yes, and you should — it reclaims disk and inodes. Unregister the size first, then regenerate.
Why only on the archive page?
The archive template requests a different size from the single template. That size is probably missing.
Sumit
Writes everything on TechMozz.