Too Many Admin Notices in WordPress? Here’s How to Tame Them
WordPress admin is drowning in plugin notices, banners, and upsells. Here's how to consolidate or hide admin notices without missing important warnings.
Log into a WordPress site with 15+ active plugins. The dashboard greets you with a wall of colored banners: “Activate your license!” “New feature available!” “Rate us 5 stars!” “Black Friday sale — 50% off!” “PHP version notice.” “Database optimization recommended.”
The actual dashboard content? Buried under 10 notices you’ve dismissed before but keep coming back.
Admin notices in WordPress have become a plague. Every plugin wants your attention, and WordPress provides no built-in way to manage the noise.
What are admin notices?
Admin notices are the colored banners at the top of WordPress admin pages. WordPress core uses them for legitimate warnings (update available, settings saved, PHP version outdated). Plugins use them for everything from license reminders to promotional banners.
There are four types: success (green), info (blue), warning (yellow), and error (red). WordPress provides no priority system, no frequency control, and no “permanently dismiss” option by default.
Why should you care?
Alert fatigue. When everything is urgent, nothing is urgent. A real security warning gets lost in a sea of “rate our plugin” notices.
Wasted time. Clicking dismiss on 5-10 notices every time you log in adds up across dozens of client sites.
Client confusion. Clients see red and yellow banners and think their site is broken. Unnecessary support tickets follow.
The quick fix
// Hide all admin notices for non-administrators
add_action( 'admin_head', function() {
if ( ! current_user_can( 'manage_options' ) ) {
echo '<style>.notice:not(.notice-error) { display: none !important; }</style>';
}
});
This hides all notices except errors for non-admin users. Administrators still see everything. The CSS approach keeps error notices visible, so genuine problems aren’t hidden.
For a more thorough approach that moves notices to a collapsible section:
// Move notices to a toggleable area
add_action( 'in_admin_header', function() {
echo '<div id="mysite-notice-area" style="display:none;">';
do_action( 'admin_notices' );
echo '</div>';
echo '<button onclick="document.getElementById(\'mysite-notice-area\').style.display=
document.getElementById(\'mysite-notice-area\').style.display===\'none\'?\'block\':\'none\'"
class="button" style="margin:10px 0;">Show/Hide Notices</button>';
remove_all_actions( 'admin_notices' );
});
The one-click solution
Ovanap Admin Toolkit includes Smart admin notices under Admin Toolkit → Features → Admin UI. It adds a summary bar with counts of critical, warning and info notices, and collapses the info notices behind a Show all button. Errors and warnings, including the core update banner and alerts from security plugins such as Wordfence, stay visible.
What happens after you fix this?
- Clean admin header — no more wall of banners
- Important notices still visible — errors are never hidden
- Fewer client panic emails about scary-looking warnings
- Actual dashboard content is immediately visible
FAQ
Will I miss important security warnings?
Not with Ovanap Admin Toolkit’s Smart admin notices: errors and warnings are never collapsed, and info notices are one click away under Show all. If you use the CSS-hide method, errors are preserved while info/success/warning notices are hidden.
Can I permanently dismiss specific notices?
Some plugins support permanent dismiss, but many don’t. Ovanap Admin Toolkit has no per-notice dismiss: it collapses info notices on every admin page, whichever plugin added them.
Does this work with WooCommerce admin notices?
Yes. WooCommerce uses the standard WordPress admin notice system. All WooCommerce notices are captured by the same consolidation.
Related reads: