TL;DR: The fastest way to hide a featured image in WordPress is through your theme’s built-in settings (Appearance → Customize → Blog). If your theme doesn’t support it, install the free Conditionally Display Featured Image plugin (30,000+ active installs, 4.8★ rating) — it adds a simple checkbox to each post. For block themes, remove the Featured Image block from your template in the Full Site Editor. CSS and code snippet methods also work when you need more granular control.
Why Would You Want to Hide the Featured Image?
I’ve been running WordPress sites for over 8 years, and I’ve hidden featured images more times than I can count. Here are the most common reasons bloggers and site owners do it:
- Avoiding duplicate images — your featured image already appears as the first image inside the post content, and showing it twice looks unprofessional
- Landing pages and sales pages — you want full control over the layout without a large hero image forced at the top
- Documentation or tutorial posts — a big featured image at the top of a step-by-step guide just gets in the way of the actual content
- Improving page speed — one fewer large image means faster loading, especially on mobile (check out our WordPress speed optimization guide for more tips)
- Design preference — some themes display the featured image in a way that clashes with your visual style or content layout
Whatever your reason, you’re in the right place. I’ll walk you through 5 different methods to get it done — from the easiest one-click solutions to developer-level code snippets.
Should You Delete the Featured Image or Just Hide It?
This is a mistake I see WordPress beginners make all the time. Do NOT delete the featured image — hide it instead.
Here’s why: your featured image does more than just sit at the top of your post. It’s used by:
- Social media platforms — when someone shares your post on Facebook, Twitter, or LinkedIn, the featured image becomes the preview thumbnail
- Search engines — Google uses featured images in image search results and sometimes in rich snippets
- Your blog archive and homepage — most themes display featured images as thumbnails in post listings
- RSS feeds and email newsletters — many email marketing tools pull the featured image automatically (learn more about getting your featured image URL in WordPress)
When you hide the featured image, it stays attached to the post — it just doesn’t display on the single post page. When you delete it, all of the above stops working.
Bottom line: Always hide, never delete.
Does Hiding the Featured Image Affect SEO?
No. Hiding the featured image from the single post page does not hurt your SEO rankings.
Google ranks your page based on content quality, relevance, and user experience — not whether a featured image is visible at the top. The image is still attached to the post, still appears in your XML sitemap (if configured correctly), and still gets pulled for social sharing via OpenGraph tags.
Quick Note: If you’re using Rank Math or Yoast, your featured image is automatically included in the sitemap’s image section even when hidden from the frontend. If you’re using a basic theme without an SEO plugin, double-check that your meta tags are configured properly to include the OpenGraph image tag.
The one thing to watch out for: make sure you still have images inside your post content. A post with zero images isn’t great for user engagement, and Google’s helpful content system favors pages with visual elements that demonstrate first-hand experience.
Quick Comparison: All 5 Methods at a Glance
Before diving into the step-by-step instructions, here’s a quick overview so you can jump straight to the right method for your situation:
| Method | Difficulty | Scope | Best For |
|---|---|---|---|
| 1. Theme Settings | Easy | All posts or per-post | GeneratePress, Astra, Kadence, Divi users |
| 2. Plugin | Easy | Per-post control | Any theme without built-in option |
| 3. Full Site Editor | Medium | All posts (template-level) | Block theme users (Twenty Twenty-Four, etc.) |
| 4. Custom CSS | Medium | Specific posts or all posts | Quick fix without installing plugins |
| 5. Code Snippet | Advanced | All posts (programmatic) | Developers who want full control |
Now let’s go through each method step by step.
Method 1: Using Your Theme’s Built-in Settings (Easiest)
Most popular WordPress themes in 2026 come with a built-in option to show or hide the featured image. This is the fastest and cleanest approach — no plugins, no code, no hassle.
Here’s how to do it in the most popular themes:
GeneratePress
GeneratePress is the theme I use on most of my sites, and it makes hiding featured images incredibly simple.
To hide featured images from ALL posts:
- Go to Appearance → Customize in your WordPress dashboard
- Click Blog → Single Post
- Find the Featured Image toggle
- Uncheck it or set it to Disabled
- Click Publish to save your changes

To hide from a SPECIFIC post: Open the post in the WordPress editor, scroll down to the Layout meta box (or look in the sidebar for GeneratePress settings), and disable the featured image under the Content section. Update the post and you’re done.
Astra
Astra is another theme I’ve tested extensively, and it has per-post control built right in.
- Open the post you want to modify in the WordPress editor
- On the right sidebar, look for the Astra Settings section
- Check the Disable Featured Image checkbox
- Update the post

The featured image will stop appearing on that specific post while still showing in your blog archive and social media previews.
Other Themes (Kadence, Flavor, OceanWP, Flavor)
Most well-built WordPress themes have similar options. Check Appearance → Customize first, and if you don’t find it there, look for a theme-specific settings panel inside the post editor sidebar.
If your theme doesn’t have this option, move on to Method 2.
Method 2: Using a Free Plugin (Works with Any Theme)
If your theme doesn’t have a built-in option to hide featured images, the Conditionally Display Featured Image plugin is the way to go. It’s completely free, lightweight, and has over 30,000 active installations with a 4.8-star rating on WordPress.org.
I’ve used this plugin on client sites where the theme didn’t support per-post featured image control, and it works flawlessly every time.

Step 1: Install the Plugin
- In your WordPress dashboard, go to Plugins → Add New
- Search for “Conditionally display featured image”
- Click Install Now and then Activate

Step 2: Hide the Featured Image on a Post
- Open the post where you want to hide the featured image
- In the Featured Image panel (right sidebar), you’ll see a new checkbox: “Display featured image in post lists only, hide on singular views”
- Check that box
- Update the post

The featured image will still appear in your blog archive, homepage listings, and social media previews — but it won’t show on the actual post page.
Observation: This plugin works by filtering the
post_thumbnail_htmloutput. It doesn’t modify your database or your theme files, so it’s completely safe to deactivate at any time without losing anything.
There’s also a similar plugin called WP Hide Show Featured Image, but I prefer Conditionally Display Featured Image because it’s more actively maintained and has better compatibility with modern block themes.
Method 3: Using the Full Site Editor (Block Themes Only)
If you’re using a block theme (like Twenty Twenty-Four, Twenty Twenty-Five, or any FSE-compatible theme), you can remove the featured image directly from your post template. No plugins needed, no code required.
This is a method most guides completely miss, and it’s one of the cleanest approaches available in WordPress 6.x and beyond.
Here’s how to do it:
- Go to Appearance → Editor in your WordPress dashboard
- Click on Templates in the left sidebar
- Select the Single Posts template (or Single depending on your theme)
- Find the Featured Image block in the template layout
- Click on it, then click the three-dot menu (⋮) → Remove Featured Image
- Click Save
Now no single post on your site will display the featured image at the top. The image stays attached to the post for social sharing and archive pages — it just doesn’t render in the single post template anymore.
Quick Note: Block themes don’t support per-post template overrides as easily as classic themes. If you only want to hide the featured image on specific posts (not all of them), combine this method with Method 2 (the plugin) or Method 4 (CSS) instead.
Not sure if you’re on a block theme? Go to Appearance in your dashboard. If you see Editor instead of Customize, you’re using a block theme.
Method 4: Using Custom CSS (No Plugin Needed)
Custom CSS is a quick way to hide the featured image without installing anything. I typically use this method when I need a fast fix on a single post and don’t want to add another plugin to the site.
How to Hide Featured Image from ALL Posts with CSS
Add this CSS to Appearance → Customize → Additional CSS:
.single-post .post-image,
.single-post .wp-post-image,
.single-post .entry-image,
.single-post .featured-image {
display: none !important;
}
Quick Note: The exact CSS class for your featured image depends on your theme. The code above covers the most common class names. If it doesn’t work, right-click the featured image on your post → click Inspect → find the CSS class wrapping the image, and replace the class names accordingly.
How to Hide Featured Image from a SPECIFIC Post with CSS
Every WordPress post has a unique ID. You can target a specific post like this:
.postid-12345 .post-image,
.postid-12345 .wp-post-image {
display: none !important;
}
Replace 12345 with your actual post ID. To find your post ID, open the post in the WordPress editor and check the URL — it’ll look like post.php?post=12345&action=edit. The number after post= is your ID.

How to Hide Featured Image from a Specific Page
For pages instead of posts, use .page-id-XXXXX:
.page-id-67890 .wp-post-image {
display: none !important;
}
The downside of CSS: The image still loads in the browser — it’s just hidden visually with display: none. This means you don’t get any page speed benefit. For a true performance improvement, use Method 1, 2, or 3 instead.
Method 5: Using a Code Snippet in functions.php (For Developers)
If you’re comfortable with PHP, you can hide the featured image programmatically using a code snippet. This gives you the most control but requires some technical knowledge.
Add this to your theme’s functions.php file or use a code snippets plugin like WPCode:
Hide from ALL Single Posts
function theguidex_hide_featured_image( $html, $post_id ) {
if ( is_singular( 'post' ) ) {
return '';
}
return $html;
}
add_filter( 'post_thumbnail_html', 'theguidex_hide_featured_image', 10, 2 );
This removes the featured image from all single post pages while keeping it visible everywhere else — archives, homepage, social media, and RSS.
Hide from SPECIFIC Posts Only
Want to target only certain posts? Modify the function:
function theguidex_hide_featured_image_selective( $html, $post_id ) {
$hidden_posts = array( 123, 456, 789 );
if ( is_singular( 'post' ) && in_array( $post_id, $hidden_posts ) ) {
return '';
}
return $html;
}
add_filter( 'post_thumbnail_html', 'theguidex_hide_featured_image_selective', 10, 2 );
Replace the numbers in the $hidden_posts array with the IDs of posts where you want the image hidden.
Observation: I strongly recommend using a code snippets plugin instead of editing
functions.phpdirectly. A syntax error infunctions.phpcan completely break your site. A code snippets plugin lets you safely add, edit, and deactivate code without that risk.
Which Method Should You Pick?
Here’s my honest recommendation based on years of working with WordPress:
- You use GeneratePress, Astra, Kadence, or Divi? → Use Method 1 (theme settings). It’s already built in — no reason to add a plugin for something your theme handles natively.
- Your theme doesn’t have this option? → Use Method 2 (Conditionally Display Featured Image plugin). It’s free, lightweight, and gives you per-post control.
- You’re on a block theme like Twenty Twenty-Five? → Use Method 3 (Full Site Editor). It’s the native WordPress way to handle template-level changes.
- You need a quick fix on just one or two posts? → Use Method 4 (CSS). Fast, simple, no installation required.
- You’re a developer building a custom theme? → Use Method 5 (code snippet). Full programmatic control with the
post_thumbnail_htmlfilter.
For most WordPress users, Method 1 or Method 2 will be the right choice. If you’re new to WordPress and feeling unsure, start with our WordPress tutorial for beginners to get comfortable with the dashboard first.
Frequently Asked Questions
Can I hide the featured image on pages too, not just posts?
Yes. All five methods work on both posts and pages. The Conditionally Display Featured Image plugin (Method 2) adds the hide checkbox to both post types automatically. For the CSS method, use .page-id-XXXX instead of .postid-XXXX to target specific pages.
Does hiding the featured image improve page speed?
It depends on the method. Methods 1, 2, 3, and 5 prevent the image from loading entirely on the single post page, which does improve load time. Method 4 (CSS with display: none) only hides the image visually — the browser still downloads it in the background, so there is no actual speed benefit.
How do I find my WordPress post ID?
Open the post in the WordPress editor. Look at the URL in your browser’s address bar — it will contain something like post.php?post=12345&action=edit. The number after post= is your post ID. You can also hover over the post title in the Posts list and check the URL shown in your browser’s status bar.
Can I hide the featured image from my blog archive page but keep it on the post?
Yes, but that is the reverse of what most people need. Use custom CSS targeting your archive page: .archive .wp-post-image { display: none; } — or configure your theme’s customizer settings for the blog archive layout. Most themes like GeneratePress and Astra offer separate controls for archive and single post featured images.
I’m using Elementor — does this work?
If your page is built entirely with Elementor, the featured image display is controlled by Elementor’s Theme Builder, not the WordPress theme. You need to edit your Single Post template in Elementor and remove or hide the Featured Image widget from there. The plugin method (Method 2) may also work depending on how Elementor renders the thumbnail.
Summing Up!
Hiding the featured image in WordPress is straightforward once you know the right method for your setup. For 90% of users, either your theme’s built-in settings (Method 1) or the free Conditionally Display Featured Image plugin (Method 2) will get the job done in under 2 minutes.
The key thing to remember: hide the image, don’t delete it. Your featured image still powers social media previews, RSS feeds, and blog archive thumbnails even when it’s hidden from the single post page. If you need to work with featured image URLs programmatically, check out our guide on how to get the featured image URL in WordPress.
Got questions about any of these methods? Drop them in the comments — I read every single one and I’ll help you troubleshoot.