LTD is back · Limited time only

How to Use the Admin Notices Manager in WordPress

Last updated on July 23, 2026

Key Takeaways

• Single toggle, no nested options

• Makes admin notices dismissible (click to hide)

• Hides notices permanently (after dismissal)

• Reduces admin dashboard clutter

• Each admin can dismiss notices independently

What Is the Admin Notices Manager feature?

WordPress admin notices are the yellow, green, red, and blue boxes that appear at the top of the admin pages. They’re used for:

  • Error messages
  • Success messages
  • Warnings
  • Informational messages

Every plugin and theme adds its own notices, which accumulate over time. After installing 10-15 plugins, the admin page can have 5+ notices stacked at the top, creating visual clutter.

The Admin Notices Manager feature adds dismiss functionality to these notices. Once dismissed, they don’t reappear (until the next event triggers them).

Why You Need It

Admin notices are a common pain point:

  • Visual clutter: Multiple notices stacked at the top of every admin page
  • Per-plugin notices: Each plugin adds its own, and they accumulate
  • No built-in dismiss: WordPress’s built-in notices are not dismissible
  • Distraction: Notices compete for attention, reducing admin efficiency
  • Stale notices: Some notices (e.g., “update available”) are permanent

The Admin Notices Manager provides a simple solution: make notices dismissible and hide them once dismissed.

How to Use the Admin Notices Manager in WordPress

Step 1: Navigate to Settings

Click into the Classic Monks plugin settings in your WordPress dashboard.

Step 2: Go to the Interface Tab

Click on the Interface menu, then click the Admin Notices subtab.

Step 3: Enable Admin Notices Manager

Scroll to Enable Admin Notices Manager and toggle on.

Step 4: Save Changes

Click Save Changes.

Step 5: Test

Visit any admin page. Notice the dismiss button (X) on admin notices. Click the X. The notice should disappear and not reappear on page load.

Configuration Options

Option Description Default
Enable Admin Notices Manager Master toggle. Off

No nested options.

What Gets Affected

  • Admin notices: now have a dismiss button (X)
  • Dismissed notices: hidden on subsequent page loads
  • The admin experience: less visual clutter
  • Each admin: dismissals are per-user (stored in user meta)

What Does NOT Get Affected

  • The notices themselves: still generated by plugins
  • The notice content: unchanged (only the dismiss button is added)
  • The notice functionality: unchanged (the button just hides the DOM element)
  • The plugin behavior: unchanged

Developer integration

This feature registers 5 WordPress hooks in admin-notices-functions.php:

Actions:

  • admin_print_scripts calls cm_catch_admin_notices() (Intercepts admin notices for modification (priority 999))
  • admin_init calls cm_init_admin_notices() (Initializes admin notices manager)
  • wp_ajax_cm_dismiss_admin_notice calls cm_dismiss_admin_notice() (AJAX handler for dismissing notices)
  • wp_ajax_cm_reset_notices calls cm_reset_notices() (AJAX handler for resetting hidden notices)

Filters:

  • cm_admin_notices_excluded_classes calls apply_filters() (Customizable filter)
// Hooked in admin-notices-functions.php
add_action( 'admin_print_scripts', 'cm_catch_admin_notices' );

The feature modifies WordPress behavior by registering or removing hooks. Disabling it reverses those changes.

Troubleshooting Notices Not Being Dismissible

The dismiss button is not showing

Cause: The toggle is off, or a plugin conflict is preventing the button from appearing.
Fix: Verify the toggle is on. Check the browser console for JavaScript errors. The dismiss button is added via JavaScript; if the JS is blocked, the button won’t appear.

The notice reappears after dismissal

Cause: The dismissal is stored in user meta, but a plugin is re-generating the notice on every page load.
Fix: This is expected for notices that are generated on every page load (e.g., “update available”). The dismissal works, but the notice is re-generated. These notices are re-generated by WordPress on every page load, so dismissal appears temporary. This is expected behavior.

I want to dismiss notices for all users

Cause: The dismissals are per-user (stored in user meta).
Fix: Dismiss notices individually, or use a network-level dismissal for multisite installations. Or use a network-level dismissal for multisite.

The notice is hidden but not truly dismissed

Cause: The dismissal is stored in the browser (localStorage), not in the database.
Fix: Check the user meta. The dismissal is stored per user. If it appears browser-specific, check that cookies are enabled. If it’s in localStorage, the dismissal is browser-specific.

Sumit Your Ideas or Feature Requests

All submissions go through a manual review, so not every idea will be published. That said, the most upvoted ideas are given priority on our official roadmap.Please check if your idea already exists before submitting. If you find it, simply upvote it to help us prioritize it.