Permanently suppress admin notices in your WordPress dashboard
Admin notices catches every notice rendered in the dashboard, shows a catalog of them, and lets you permanently suppress the ones you don’t want to see. Ideal for sites where dozens of active plugins clutter the dashboard with upgrade nags and review requests.
Key features
- Catches notices via output buffering — works even on notices with no filter hook of their own
- A catalog of captured notices with a text preview (safely rendered as plain text, never HTML)
- One-click suppression, stored permanently in a dedicated DB option
- Notice signatures are normalized (no version numbers/nonces), so they usually stay hidden after a plugin update
- Stored in a non-autoloaded option — doesn’t bloat the main settings payload
How it works
Since WordPress has no clean API for removing a notice registered by an anonymous callback, the module hooks `admin_notices`/`all_admin_notices` twice: at a very low priority it opens `ob_start()`, at a very high priority it captures the output via `ob_get_clean()`.
The captured HTML is split into individual `<div class="notice...">` blocks by manually counting matching tags (not a `.*?` regex, which would break on nested divs), a normalized signature is computed for each block, and that signature decides whether it stays suppressed.