How to Hide the Featured Image in WordPress (Post or Page, 5 Methods)
How to hide the featured image on a WordPress post or page without deleting it: five methods, from a one-click theme toggle to CSS and a code snippet.

The fastest way to hide the featured image in WordPress is your theme setting (GeneratePress, Astra, Kadence) or the free Conditionally Display Featured Image plugin for per-post control on any theme. Without a plugin, use Additional CSS or a functions.php snippet. Hide it, do not delete it — the image still powers social previews, RSS, and archives. Every method works on posts and pages.
On this page
- TL;DR
- Should you hide the featured image or delete it?
- Does hiding the featured image hurt SEO?
- The 5 methods at a glance
- How to hide the featured image, method by method
- How to hide it with Elementor or Divi
- Hide it on the archive or one category, not the post
- Still seeing the featured image? Quick fixes
- Which method should you pick?
- Final take
- Common questions
Your theme drops a featured image at the top of every post. On some layouts it just gets in the way: a giant banner above content that does not need one.
You want it gone from the post, but not deleted.
I have hit this on dozens of client sites. The fix takes under two minutes once you know which of the five routes fits your setup.
Hide it, do not delete it, and match the method to your theme. That is the whole job.
Should you hide the featured image or delete it?
Hide it. Do not delete it. This is the one mistake worth avoiding.
The featured image does far more than sit at the top of the post. It is the thumbnail on your blog archive and homepage, the preview image when someone shares the post on social, the image in your RSS feed and email newsletter, and the picture search engines may show in image results.
Hiding removes it from the single post view while keeping all of that intact. Deleting it breaks every one of those.
So when people search "remove featured image," what they almost always want is hide, not delete.
Does hiding the featured image hurt SEO?
No. Hiding it from the single post does not affect your rankings.
The image stays attached to the post, still appears in your XML sitemap, and is still pulled into social previews through your OpenGraph tags. Just keep at least one relevant image inside the post body, so the page is not left with no visuals at all.
The 5 methods at a glance
Pick the row that matches your theme and how much control you want. Three of the five need no plugin.
| Method | Difficulty | Scope | No plugin? | Best for |
|---|---|---|---|---|
| 1. Theme settings | Easy | All or per-post | Yes | GeneratePress, Astra, Kadence |
| 2. Free plugin | Easy | Per-post | No | Any theme, no built-in toggle |
| 3. Full Site Editor | Medium | All posts | Yes | Block themes |
| 4. Custom CSS | Medium | All or one | Yes | Quick fix, one page |
| 5. Code snippet | Advanced | All or chosen | Yes | Developers, full control |
How to hide the featured image, method by method
Method 1
Use your theme's built-in setting
Best for: Anyone on a theme that ships a featured-image toggle — the fastest, cleanest route.
Most modern themes can hide the featured image without any code.
This is where I start, because it also stops the image from loading, not just hides it.
- GeneratePress: Appearance → Customize → Layout → Blog → Single, and turn off the Featured Image. For one post, open it and use the GeneratePress panel in the sidebar.
- Astra: open the post, find Astra Settings in the editor sidebar, and tick Disable Featured Image.
- Kadence / OceanWP / others: check Appearance → Customize first, then the post editor sidebar for a per-post toggle.

GeneratePress works the same way for the whole site: in Customize → Layout → Blog → Single, switch the Featured Images tab to Posts and untick Display featured images. Set it once and every post follows.
The catch: not every theme has this, and where it lives moves between versions. If you cannot find it in two minutes, drop to Method 2 or 4.
Method 2
Use a free plugin (any theme)
Best for: Per-post control on a theme with no built-in toggle — non-developers who want a checkbox.
If your theme has no setting, a small free plugin adds a per-post checkbox.
The one I reach for is Conditionally Display Featured Image on Singular Pages. It works on any theme.

- Go to Plugins → Add New, search the name, then install and activate.
- Open the post or page and find the Featured Image panel in the sidebar.
- Tick "Display featured image in post lists only, hide on singular pages" and update.
It works by filtering the image output, so it never touches your database, and the image still shows on archives and in social previews. The catch is the obvious one: it is another plugin to keep updated.
Get the pluginMethod 3
Use the Full Site Editor (block themes)
Best for: Block themes (Twenty Twenty-Four/Five) where you want it gone from every post.
On a block theme, the single-post layout is a template you edit directly, no plugin and no code.
- Go to Appearance → Editor → Templates.
- Open the Single (or Single Posts) template.
- Select the Featured Image block, open the three-dot menu, choose Remove, and save.
This removes it from every post at once. The catch: per-post exceptions are awkward in block themes, so if you only want it gone on a few posts, pair this with Method 2 or 4.
Method 4
Use custom CSS (no plugin)
Best for: A quick fix on one page, or a fast site-wide hide without installing anything.
CSS hides the image visually. Add it under Appearance → Customize → Additional CSS.
Hide it on all single posts:
.single-post .wp-post-image,
.single-post .post-thumbnail {
display: none !important;
}Hide it on one specific post (the post ID is the number in the editor URL, post=12345):
.postid-12345 .wp-post-image { display: none !important; }Hide it on a page instead, using the page's body class:
.page-id-67890 .wp-post-image { display: none !important; }The honest catch: display: none only hides the image. The browser still downloads it, so there is no speed saving.
CSS hides it from the eye, not from the page load. For a real saving, use Method 1, 3, or 5.
Method 5
Use a code snippet (developers)
Best for: Developers who want exact, no-load control — the image never renders at all.
A filter on post_thumbnail_html stops the image from being generated.
Unlike CSS, the image never renders and never loads at all. Add it to a child theme's functions.php or a snippets plugin like WPCode. And if what you actually need is the image's address in code, I have covered getting the featured image URL separately.
Hide it on every single post:
add_filter( 'post_thumbnail_html', function ( $html ) {
return is_singular( 'post' ) ? '' : $html;
} );Hide it only on chosen posts by ID:
add_filter( 'post_thumbnail_html', function ( $html, $post_id ) {
$hidden = array( 123, 456, 789 );
return ( is_singular( 'post' ) && in_array( $post_id, $hidden, true ) ) ? '' : $html;
}, 10, 2 );The catch: a typo here can take the site down, so edit through WPCode or a child theme, never the live theme editor.
How to hide it with Elementor or Divi
Page builders are the gotcha I see most often.
If a post is built with Elementor or Divi, the featured image is controlled by the builder's template, not your WordPress theme. So the theme toggle and even the plugin may do nothing.
Fix it where the builder renders it, not in the theme.
In Elementor, edit the Single Post template in Theme Builder and delete the Featured Image widget. In Divi, edit the post or the Theme Builder template and remove the featured image module.
Hide it on the archive or one category, not the post
Sometimes the goal is the reverse: keep the image on the single post but drop it from the blog index, or hide it only in one category. You do not need a different tool, just a more specific target.
To hide it on archives (the blog index, category, and tag pages) while keeping it on the post, most themes have a separate Archives toggle. GeneratePress, for example, splits Featured Images into Archives and Posts tabs. Or do it with CSS:
.archive .wp-post-image { display: none !important; }To hide it in one category only, use that category's body class:
.category-news .wp-post-image { display: none !important; }The same idea extends to any WordPress body class (.tag-{slug}, .author-{name}, or a custom post type's .single-{type}), so you can scope the rule as tightly as you need.
Still seeing the featured image? Quick fixes
If the image will not go away after you have set it, work through these in order:
- Clear your cache. A caching plugin or your host's page cache will serve the old version. Purge it and hard-refresh.
- Check your page builder. If the post is built in Elementor or Divi, the theme setting and plugin are overruled by the builder template, so fix it there (see above).
- Raise CSS specificity. If a CSS rule is ignored, the theme's selector is winning. Add
!important, or prefix with the body class (.postid-123 …) to outweigh it. - Confirm it is the featured image. A "cover" or hero block at the top of the content is not the featured image, and that one you edit or remove inside the post, not with these methods.
Which method should you pick?
For most people, Method 1 or 2 settles it in under two minutes. Reach for the others only when they do not fit.

- Theme has a toggle? Use it (Method 1), clean and no extra load.
- Any theme, want a per-post checkbox? The plugin (Method 2).
- Block theme, hide everywhere? Full Site Editor (Method 3).
- No plugins, one quick page? CSS (Method 4), but know it still loads.
- Developer, exact control with no load? The snippet (Method 5).
Want it fixed without the trial and error?
Theme quirks, page builders, and featured-image gremlins are our daily work. Send us the site and what you want hidden, and we will sort it — the first reply comes from Sunny, not a sales team.
See WordPress developmentFinal take
Hide the featured image, never delete it. It still earns its keep on your archives, RSS, and social previews.
If your theme has a setting, use it. If not, the free plugin covers any theme in a click, and CSS or a snippet handles the no-plugin cases.
Match the method to your setup, and the giant banner is gone in a couple of minutes.
Common questions
How do I hide the featured image in WordPress without a plugin?
Three no-plugin routes: your theme settings (GeneratePress, Astra, Kadence all have a toggle), the Full Site Editor on block themes (remove the Featured Image block from the Single template), or Additional CSS / a functions.php snippet. The snippet is the only no-plugin way that also stops the image from loading.
Should I hide the featured image or remove it completely?
Hide it — do not delete it. The featured image still powers your social-share previews, RSS feed, blog archive thumbnails, and search image results even when it is hidden from the single post. Deleting it breaks all of those. "Remove" here means stop showing it on the post, not delete the file.
Does hiding the featured image hurt SEO?
No. Hiding it from the single post view does not affect rankings. The image stays attached to the post, appears in your XML sitemap, and is still pulled into social previews through OpenGraph tags. Keep at least one image inside the post content for engagement.
Will hiding the featured image break social media previews?
No. Social platforms pull the share image from your OpenGraph meta tags, not from the visible post. Hiding the featured image on the page leaves those tags intact, so Facebook, X, and LinkedIn previews still show the image.
Can I hide the featured image on a page, not just a post?
Yes. Every method here works on pages too. For CSS, target the page with its body class, for example ".page-id-67890 .wp-post-image { display:none; }". The plugin adds its checkbox to both posts and pages automatically.
How do I hide the featured image in Elementor or Divi?
Page builders control the featured image through their own template, not the WordPress theme. In Elementor, edit the Single Post template in Theme Builder and remove the Featured Image widget. In Divi, edit the post/Theme Builder template and remove the featured image module.

SEO Specialist and product builder with 10+ years in search. The notes come from the work, not the theory.