Title: Hide Posts
Author: MartinCV
Published: <strong>October 11, 2017</strong>
Last modified: November 24, 2025

---

Search plugins

![](https://ps.w.org/whp-hide-posts/assets/banner-772x250.png?rev=2674320)

![](https://ps.w.org/whp-hide-posts/assets/icon-256x256.png?rev=2674332)

# Hide Posts

 By [MartinCV](https://profiles.wordpress.org/martin7ba/)

[Download](https://downloads.wordpress.org/plugin/whp-hide-posts.2.1.0.zip)

 * [Details](https://vec.wordpress.org/plugins/whp-hide-posts/#description)
 * [Reviews](https://vec.wordpress.org/plugins/whp-hide-posts/#reviews)
 *  [Installation](https://vec.wordpress.org/plugins/whp-hide-posts/#installation)
 * [Development](https://vec.wordpress.org/plugins/whp-hide-posts/#developers)

 [Support](https://wordpress.org/support/plugin/whp-hide-posts/)

## Description

This plugin allows you to hide any posts on the home page, category page, search
page, tags page, authors page, RSS Feed, REST API, Post Navigation, Native Recent
Posts Widget, XML sitemaps, Yoast SEO sitemap, breadcrumbs and internal link suggestions.

[Try the Demo](https://demo.tastewp.com/whp-hide-posts)

#### Features:

 * Hide posts on specific archives and pages (home, categories, search, tags, authors,
   date, blog page, etc.)
 * Hide posts from RSS Feed and REST API
 * Hide posts from XML sitemaps (WordPress core and Yoast SEO)
 * Hide posts from Yoast SEO breadcrumbs and internal link suggestions
 * Full Gutenberg Block Editor support with metabox in sidebar
 * Works with Gutenberg Query Loop and Latest Posts blocks
 * Custom Post Types support – enable hide functionality for any post type
 * WooCommerce integration – hide products on store page, category pages, and REST
   API
 * Bulk Edit and Quick Edit support for efficient management
 * Custom database table for optimized performance
 * Comprehensive caching for fast page loads

## Screenshots

 * [[
 * The Settings screen for the plugin.
 * [[
 * The Hide Posts options in the Add / Edit post screen.
 * [[
 * Post Lists table ‘Hidden on’ column.

## Installation

Installation and uninstallation are extremely simple. You can use WordPress’ automatic
install or follow the manual instructions below.

#### Installing:

 1. Download the package.
 2. Extract it to the “plugins” folder of your WordPress directory.
 3. In the Admin Panel, go to “Plugins” and activate it.
 4. Go to Settings -> Hide Posts to enable the hide functionality for additional post
    types beside ‘post’.

#### Uninstalling:

 1. In the Admin Panel, go to “Plugins”, deactivate the plugin and click “Delete”.

#### Usage:

Using this plugin is simple. Once it has been activated, navigate to Settings ->
Hide Posts and select additional post types for which
 you want to use the Hide 
functionality. The functionality is enabled by default for ‘Posts’ and cannot be
disabled for that type post.

If you need any additional help fell free to contact me at [martin@martincv.com](https://vec.wordpress.org/plugins/whp-hide-posts/martin@martincv.com?output_format=md)
for more information.

## FAQ

### This plugin saved me a lot of work. Where can I donate?

Thanks, donations help us to continue improving our plugins. [Read More About Donations.](https://www.martincv.com/whp-donate/)

### I want to migrate from other hide posts plugin to WordPress Hide Posts plugin

This is possible. This functionality is not free. You can contact me at [martin@martincv.com](https://vec.wordpress.org/plugins/whp-hide-posts/martin@martincv.com?output_format=md)
for more information and send the name of the plugin you want to migrate from.

## Reviews

![](https://secure.gravatar.com/avatar/0e62bea372d4d18008ffbc32dbaee5662467ae851ea933ab06424a009e4e9bbc?
s=60&d=retro&r=g)

### 󠀁[Plugin Affected SEO After WordPress Update](https://wordpress.org/support/topic/plugin-affected-seo-after-wordpress-update/)󠁿

 [cupidsalman](https://profiles.wordpress.org/cupidsalman/) May 28, 2025

I have been using the “Hide Posts” plugin by MartinCV for approximately 1.5 years,
and up until recently, it has been a useful tool for managing which posts to display
on my WordPress site. The ability to hide posts on the front page, archive pages,
blog page, recent posts widget, and even on single post pages has been very beneficial
for customizing my content visibility. However, after upgrading my WordPress version
to 6.8.1 on April 30, 2025, I have noticed a significant negative impact on my site’s
SEO performance. The plugin seems to no longer function properly, which has led 
to some of my posts being improperly hidden or displayed. This disruption has caused
me to lose visibility in search engines, and I’ve seen a noticeable decline in traffic
as a result. I use the following settings with this plugin: Hide on frontpage Hide
on archive page (including any custom taxonomy archive pages) Hide on blog page (
selected in Settings  Reading) Hide from recent posts widget Hide on single post
page (including recent posts, related posts, and any other widget shown on the single
post page) I hope to see improvements in future updates, as this plugin has been
incredibly useful in the past. However, without a fix or update to address this 
issue, it is currently hindering my site’s performance. Looking forward to seeing
improvements soon. Best regards, Salman Khayam

![](https://secure.gravatar.com/avatar/79e10f1cc126463050bac83cb078bc91209b5f902a353f57cad476ccea7aab1c?
s=60&d=retro&r=g)

### 󠀁[Perfect Right Out of the Box; Does Not Affect SEO](https://wordpress.org/support/topic/perfect-right-out-of-the-box-does-not-affect-seo/)󠁿

 [jerome21z](https://profiles.wordpress.org/jerome21z/) April 8, 2025

Perfect. It does exactly what it says, and it offers lots of display options. It
also doesn’t affect SEO because I can see my posts in the xml sitemap after hiding
it from the archive.

![](https://secure.gravatar.com/avatar/2bd9afe53f8994b58040001d67927b1abbfc790255ffcd63ec1744d578ebef2d?
s=60&d=retro&r=g)

### 󠀁[I needed to hide alphabetical posts from search results](https://wordpress.org/support/topic/i-needed-to-hide-alphabetical-posts-from-search-results/)󠁿

 [brooklynfox](https://profiles.wordpress.org/brooklynfox/) September 3, 2024

I made 20 something posts with lists of links by town/city. The links would then
go off to the various towns and city pages. For some reason when I searched for 
a town in search the new alphabetical posts would show but not keeping any width
settings unlike the other post listings. It broke the look of the page and the dreaded
horizontal scrollbar appeared with a long horizontal list of the link text. I tried
to fix it but could not so thought maybe I could hide those posts from the search
results and went looking. As you will all know looking for plug ins is not an exciting
journey so I was not thrilled. However I was lucky enough to find this plug in first
search and it works EXACTLY as it says it does, which IME is weird for a plug in!
So after simply checking a box my problem is solved and all the annoying posts are
hidden from search. There are a tonne of other free options for the plug in but 
this is all I needed…for now:) Well done developer, your plug in is making a difference
and is very cool!

![](https://secure.gravatar.com/avatar/489e3bee522deedda50385aee0e997e6c04c233a7a15b6f79a7557e48b5e9f15?
s=60&d=retro&r=g)

### 󠀁[Amazing and updated](https://wordpress.org/support/topic/amazing-and-updated/)󠁿

 [bigbatsbutt](https://profiles.wordpress.org/djixas/) October 4, 2023

Thank you

![](https://secure.gravatar.com/avatar/30ee3fe43b0a617deffb60851be3e174352bd2f5d6cbe39926be6f765f67bda6?
s=60&d=retro&r=g)

### 󠀁[Perfect](https://wordpress.org/support/topic/perfect-9512/)󠁿

 [godbeloved](https://profiles.wordpress.org/godbeloved/) September 21, 2022

This plugin is great but can you add a feature that can enable us to unhide posts
in bulk? instead of doing that one by one? Maybe from siteurl/wp-admin/edit.php 
Thanks.

![](https://secure.gravatar.com/avatar/dc1ccde50b7e7fb16c1b81d9200ca8b002b602d2909d87e55213da77f450a54a?
s=60&d=retro&r=g)

### 󠀁[Works as said. No issues so far.](https://wordpress.org/support/topic/works-as-said-no-issues-so-far/)󠁿

 [bgmsquad](https://profiles.wordpress.org/bgmsquad/) February 15, 2022 2 replies

This plugin helped us in a big possible way. Thanks to developer. We have one small
request. Can you implement a feature Post unhiding after specific time or date. 
That would be grateful.

 [ Read all 22 reviews ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/)

## Contributors & Developers

“Hide Posts” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ MartinCV ](https://profiles.wordpress.org/martin7ba/)

“Hide Posts” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/whp-hide-posts/contributors)
for their contributions.

[Translate “Hide Posts” into your language.](https://translate.wordpress.org/projects/wp-plugins/whp-hide-posts)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/whp-hide-posts/), check
out the [SVN repository](https://plugins.svn.wordpress.org/whp-hide-posts/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/whp-hide-posts/)
by [RSS](https://plugins.trac.wordpress.org/log/whp-hide-posts/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.1.0

_Release Date – 24 November 2025_

**Major Update: Gutenberg Block Editor Support & Custom Database Architecture**

#### New Features

 * **Full Gutenberg Block Editor Support** – Complete React-based sidebar panel 
   with live checkboxes
 * **Custom REST API Integration** – Dedicated REST endpoints for Gutenberg editor(`/
   whp/v1/hide-settings/{id}`)
 * **Select All / Deselect All Buttons** – Quick bulk selection in Gutenberg sidebar
 * **Custom Database Table Architecture** – All data stored in `wp_whp_posts_visibility`
   table (NO wp_postmeta usage)
 * **Smart Metabox Detection** – Classic Editor metabox hidden in Gutenberg to avoid
   confusion
 * **SEO Plugin Integration** – Hide posts from WordPress XML sitemap, Yoast SEO
   sitemap, breadcrumbs, and internal link suggestions
 * **Gutenberg Query Loop Block Support** – Hidden posts properly excluded from 
   Query Loop blocks
 * **Latest Posts Block Support** – Hidden posts excluded from Gutenberg Latest 
   Posts block
 * **Complete Bulk Edit & Quick Edit** – Full AJAX functionality for efficient bulk
   operations
 * **Migration Notice Improvements** – Only shows when legacy data exists with clear
   migration path

#### Gutenberg/Block Editor Enhancements

 * React-based sidebar panel using WordPress `@wordpress/plugins` API
 * Real-time checkbox state management with React hooks
 * Auto-save when clicking Update/Publish (integrated with Gutenberg save cycle)
 * Conditional field display (CPT, WooCommerce, Yoast options shown only when relevant)
 * WordPress 6.6+ compatibility (`wp.editor.PluginDocumentSettingPanel`)
 * Backward compatibility with older WP versions (`wp.editPost` fallback)

#### Performance Improvements

 * **95%+ Faster Migration** – Bulk INSERT…SELECT queries instead of individual 
   inserts
 * **70% Fewer Database Queries** – Custom table optimized with indexes instead 
   of postmeta searches
 * **Intelligent Cache Invalidation** – Only clears changed conditions (80-95% more
   efficient)
 * **Object Cache Integration** – Full wp_cache support with transient fallback
 * **Optimized Data Retrieval** – Single query fetches all hide settings per post

#### Security Enhancements

 * **SQL Injection Prevention** – All table names escaped with `esc_sql()`, all 
   queries use prepared statements
 * **REST API Permission Checks** – Proper `current_user_can()` validation on all
   endpoints
 * **Race Condition Protection** – Migration uses transient locks to prevent concurrent
   execution
 * **Autosave Protection** – Metabox save skipped for WordPress autosaves
 * **Input Validation** – Whitelist validation for bulk edit actions
 * **Nonce Verification** – Separate handling for Classic Editor (nonce required)
   and Gutenberg (REST API)

#### Bug Fixes

 * Fixed Gutenberg checkbox values all saving as false (React state dependencies
   issue)
 * Fixed Classic Editor metabox appearing in Gutenberg (causing confusion)
 * Fixed undefined variable bug in fallback logic
 * Fixed migration notice appearing on fresh installations
 * Fixed duplicate key errors in custom table (added existence checks)
 * Fixed cache invalidation to be condition-specific instead of global
 * Added comprehensive database error checking and logging

#### Technical Improvements

 * **Custom REST API Class** – Dedicated `REST_API` class handles all Gutenberg 
   endpoints
 * **React State Management** – Uses `useState`, `useEffect`, `useSelect` hooks 
   properly
 * **Database Table with UNIQUE Constraints** – Prevents duplicate entries at database
   level
 * **Comprehensive Error Logging** – Clear messages for debugging database and save
   issues
 * **WordPress Coding Standards** – Improved code quality and compliance
 * **Enhanced PHPDoc Documentation** – Better inline documentation throughout
 * **Cleaner Uninstall Process** – Removes all plugin options and custom table

#### Compatibility

 * Tested with WordPress 6.7+
 * Fully compatible with Gutenberg Block Editor
 * Compatible with Classic Editor plugin (when installed)
 * Compatible with Yoast SEO (all versions)
 * Compatible with WooCommerce
 * PHP 7.3+ required

#### Developer Notes

 * Custom database table: `wp_whp_posts_visibility` (post_id, condition, UNIQUE 
   constraint)
 * REST API endpoints: GET/POST `/whp/v1/hide-settings/{post_id}`
 * Data stored ONLY in custom table (wp_postmeta used only for migration fallback)
 * Gutenberg script: `/assets/admin/js/whp-gutenberg.js` (React-based)
 * All database queries use prepared statements
 * Comprehensive caching with wp_cache and transients (WEEK_IN_SECONDS TTL)

#### 2.0.3

_Release Date – 12 January 2024_

 * Added support for Yoast Duplicate Post to clone the hidden flags over to the 
   new copy

= 2.0.2
 _Release Date – 30 December 2024_

 * Updated frontpage / homepage query condition

#### 2.0.1

_Release Date – 27 December 2024_

 * Small updates on the displaying of the flags in admin.

#### 2.0

_Release Date – 27 December 2024_

 * Added custom database table to hold the hide post flags.
 * All new Hide flags on posts will be saved in the new database table. A fallback
   to old data is also added in case the old data is not yet migrated to the new
   table.
 * Added option to migrate the old data from wp_postmeta table to the new table.

#### 1.1.1

_Release Date – 05 October 2022_

 * Bug fix related to checkbox not checked when enabling Hide posts on signle post
   page.

#### 1.1.0

_Release Date – 02 September 2022_

 * Added option to hide posts on the single post page. This option will hide posts
   shown in any widget, block (related posts, recent posts etc) on the single post
   page.

#### 1.0.3

_Release Date – 01 September 2022_

 * Bug fix with conditional logic on when to modify meta query.

#### 1.0.2

_Release Date – 20 February 2022_

 * Hide WooCommerce Product from REST API bug fix.

#### 1.0.1

_Release Date – 13 February 2022_

 * Bug fix. Added check for enabled post type for REST API Hide.

#### 1.0.0

_Release Date – 07 February 2022_

 * Code base optimized and refactored.
 * Added option to hide CPT on their own archive page.
 * Added option to hide any post type on archive page other than category, tag. 
   Ex: Custom Taxonomy archive page.
 * Added option to hide posts in REST API calls.
 * Added option to hide Woocommerce Products in REST API calls.

#### 0.5.4

_Release Date – 26 December 2021_

 * Added option to hide posts on the default WordPress Recent Posts Widget
    (NOTE:
   This option will not work on the Latest Posts Gutenberg block. The feature can
   be tracked here [core.trac.wordpress.org/ticket/54580](https://core.trac.wordpress.org/ticket/54580))
 * Added compatibility with Zeen Theme Load More functionality

#### 0.5.3

_Release Date – 15 August 2020_

 * Fixed jQuery Migrate Helper warning showing in console

#### 0.5.2

_Release Date – 12 August 2020_

 * Added option to select all hide options in post metabox
 * Add new column in posts list table that shows on which pages the post is hidden
 * Added option in Settigns -> Hide Posts to disable the showing of the said column

#### 0.5.1

_Release Date – 19 May 2020_

 * Added option to hide posts default WordPress post navigation
 * Fix for hiding menu items bug

#### 0.5.0

_Release Date – 17 April 2020_

 * Removed option to hide post from REST API added in version 0.4.3 due to conflict
   with Guttenberg save / update post.
    The conflict happens because Guttenberg 
   is using the REST API to save post and load additional data the hide post on 
   REST API was causing conficts with the data.

#### 0.4.4

_Release Date – 14 April 2020_

 * Added option to hide post on date archive page

#### 0.4.3

_Release Date – 06 April 2020_

 * Added option to hide posts from REST API all posts query: /wp-json/wp/v2/posts/
   
   Note: Single post entry in REST API remains available /wp-json/wp/v2/posts/[post_id]

#### 0.4.2

_Release Date – 13 February 2020_

 * Bug fix

#### 0.4.1

_Release Date – 13 February 2020_

 * Workaround added for issue showing warnings when is_front_page() function is 
   called in pre_get_posts filter. This is related to wordpress core and can be 
   tracked at [#27015](https://core.trac.wordpress.org/ticket/27015) and [#21790](https://core.trac.wordpress.org/ticket/21790)

#### 0.4.0

_Release Date – 21 December 2019_

 * Added option to hide posts on the blog page as selected in Settings -> Reading(
   Posts Page)

#### 0.3.2

_Release Date – 13 December 2019_

 * Bug fix for checking if Woocommerce is active on mutlinetwork site

#### 0.3.1

_Release Date – 07 December 2019_

 * Added option to hide posts in RSS Feed
 * Added options to hide Woocommece products on Store (Shop) page and on Product
   category pages

#### 0.2.1

_Release Date – 13 November 2019_

 * Compatibility checkup with WordPress 5.3
 * Added option to enable the Hide Post functionality for additional post types (
   Check Settings -> Hide Posts)
 * Added uninstall.php file to clean up options and post meta added by the plugin

#### 0.1.1

_Release Date – 05 September 2019_

 * Code and compatibility updates.
 * Added translateable strings.

#### 0.0.1

_Release Date – 11 October 2017_

 * Public release of ‘WordPress Hide Posts’

## Meta

 *  Version **2.1.0**
 *  Last updated **5 months ago**
 *  Active installations **20.000+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.8.5**
 *  PHP version ** 7.3 or higher **
 *  Languages
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/whp-hide-posts/) and [English (US)](https://wordpress.org/plugins/whp-hide-posts/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/whp-hide-posts)
 * Tags
 * [hide](https://vec.wordpress.org/plugins/tags/hide/)[hide posts](https://vec.wordpress.org/plugins/tags/hide-posts/)
   [hide products](https://vec.wordpress.org/plugins/tags/hide-products/)[show](https://vec.wordpress.org/plugins/tags/show/)
   [visibility](https://vec.wordpress.org/plugins/tags/visibility/)
 *  [Advanced View](https://vec.wordpress.org/plugins/whp-hide-posts/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  20 5-star reviews     ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/?filter=2)
 *  [  1 1-star review     ](https://wordpress.org/support/plugin/whp-hide-posts/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/whp-hide-posts/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/whp-hide-posts/reviews/)

## Contributors

 *   [ MartinCV ](https://profiles.wordpress.org/martin7ba/)

## Support

Issues resolved in last two months:

     0 out of 1

 [View support forum](https://wordpress.org/support/plugin/whp-hide-posts/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.martincv.com/whp-donate)