Too Many Admin Notices in WordPress? Here’s How to Tame Them

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="ovkit-notice-area" style="display:none;">';
    do_action( 'admin_notices' );
    echo '</div>';
    echo '<button onclick="document.getElementById(\'ovkit-notice-area\').style.display=
    document.getElementById(\'ovkit-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

OvKit includes Smart Notices under Features → Admin. It consolidates all admin notices into a collapsible section with a count badge. Click to expand when you want to see them, collapse when you don’t. Error notices always show prominently.

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 OvKit’s Smart Notices approach — it consolidates notices instead of hiding them. Error-level notices remain prominent. 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. OvKit’s notice management works globally regardless of individual plugin behavior.

### 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: