Hide Posts

外掛說明

這個外掛能讓使用者在首頁、分類彙整頁面、搜尋結果頁面、標籤彙整頁面、作者頁面、RSS 資訊提供、REST API、文章導覽、核心程式內建的 [最新文章] 小工具、XML Sitemap、Yoast SEO 產生的 Sitemap、導覽標記及內部連結建議中隱藏指定內容。

試用外掛功能

外掛功能

  • 在指定彙整頁面及頁面 (首頁、分類彙整頁面、搜尋結果頁面、標籤彙整頁面、作者頁面、日期彙整頁面、網站文章頁面等) 隱藏指定內容
  • 在 RSS 資訊提供及 REST API 中隱藏指定內容
  • 在 WordPress 核心程式或 Yoast SEO 所產生的 XML Sitemap 中隱藏指定內容
  • 在 Yoast SEO 所產生的導覽標記及內部連結建議中隱藏指定內容
  • 使用區塊編輯器資訊欄的中繼資料區塊提供完整功能
  • 可與區塊編輯器的 [查詢迴圈] 及 [最新文章] 區塊搭配使用
  • 支援自訂內容類型:能在任何內容類型中啟用隱藏內容功能
  • 整合 WooCommerce:在商店頁面、商品分類彙整頁面及 REST API 隱藏指定商品
  • 具備批次編輯及快速編輯以達成高效管理
  • 自訂資料庫資料表以最佳化網站效能
  • 使用全方位的快取機制提升頁面載入速度

螢幕擷圖

  • 外掛設定頁面

  • 新增/編輯內容畫面的內容隱藏選項

  • 內容清單的 [隱藏位置] 欄位

安裝方式

安裝及解除安裝非常簡單,網站管理員使用 WordPress 的自動安裝或依照下列說明手動安裝。

安裝

  1. 下載外掛安裝套件 ZIP 壓縮檔。
  2. 將外掛安裝套件 ZIP 壓縮檔解壓縮所得的 whp-hide-posts 資料夾上傳至網站的 wp-content/plugins 目錄。
  3. 前往網站管理後台的 [外掛] 頁面,然後啟用外掛。
  4. 前往 [設定]→[隱藏內容],為 [文章] 內容類型之外的內容類型啟用隱藏內容的功能。

解除安裝

  1. 前往網站管理後台的 [外掛] 頁面,停用外掛後點擊 [刪除]。

使用方式

這個外掛的使用方式非常簡單。啟用外掛後,前往 [設定]→[隱藏內容] 並選取要啟用內容隱藏功能的內容類型。請注意,這個外掛已對 [文章] 內容類型預設啟用內容隱藏功能。

如果需要其他協助,請聯絡外掛開發者 [email protected] 以獲得進一步的相關資訊。

常見問題集

這個外掛為我節省了許多時間,如何贊助這個外掛?

感謝你的贊助意願,贊助的確能協助我持續改進外掛。進一步了贊助外掛的方式

如果要整合其他內容隱藏外掛的功能至 Hide Posts 外掛中,是否可行?

可以,但這項需求無法免費提供。如有相關功能需求,請來信至 [email protected] 以進一步聯絡,並留下想整合功能的外掛名稱。

使用者評論

2025 年 5 月 28 日
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
2024 年 9 月 3 日
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!
2022 年 9 月 21 日
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.
2022 年 2 月 15 日 2 則留言
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.
閱讀全部 22 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Hide Posts〉的開發相關工作。

參與者

〈Hide Posts〉外掛目前已有 1 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈Hide Posts〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

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)
  • 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 and #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’