Thisismyurl Dashboard Notice Control
Thisismyurl Dashboard Notice Control suppresses all admin notices in the WordPress dashboard.
If this plugin saves you time, consider supporting the work at https://github.com/sponsors/thisismyurl.
What it does:
- Removes callbacks attached to
admin_notices,all_admin_notices,network_admin_notices, anduser_admin_notices. - Hides notice-like UI via scoped admin CSS in
#wpbody-content. - Optional JS auto-dismiss mode for dismissible notices (disabled by default).
Important:
- This plugin intentionally hides all notices, including potentially important update or security messages.
- Recommended for controlled environments where notice noise blocks productivity and you have an alternative update/security monitoring process.
Safety controls:
- On/off switch at Settings > Thisismyurl Dashboard Notice Control. Suppression is on by default; uncheck it to show all admin notices again without editing any code.
- Emergency request bypass for administrators (use the nonce-signed link from the admin bar or Plugins screen; the nonce is required): ?thisismyurl_dnc_show_notices=1&thisismyurl_dnc_nonce=…
- Constant toggle: THISISMYURL_DASHBOARD_NOTICE_CONTROL_ENABLED
- Constant bypass: THISISMYURL_DASHBOARD_NOTICE_CONTROL_BYPASS
- Optional JS auto-dismiss toggle (disabled by default): THISISMYURL_DASHBOARD_NOTICE_CONTROL_AUTO_DISMISS
- Filters: thisismyurl_dashboard_notice_control_enabled, thisismyurl_dashboard_notice_control_bypass, thisismyurl_dashboard_notice_control_auto_dismiss, thisismyurl_dashboard_notice_control_css_selectors, thisismyurl_dashboard_notice_control_suppress_network, thisismyurl_dashboard_notice_control_suppress_on_screen
Ease-of-use shortcuts:
- Settings page at Settings > Thisismyurl Dashboard Notice Control (on/off switch + allowlist)
- Plugin action links on Plugins screen: ”Settings” and ”Show Notices Once”
- Admin bar shortcut for administrators: ”Show Notices Once”
Per-plugin allowlist:
Enter plugin slugs (one per line) at Settings > Thisismyurl Dashboard Notice Control. Notices from allowlisted plugins pass through suppression. Matching compares the notice callback’s source file against that plugin’s own folder inside the plugins directory, including plugins installed via a symlink or junction. Slugs are lowercased, so a plugin folder with uppercase letters should be entered in lowercase.
Support:
- Donations: https://github.com/sponsors/thisismyurl
- Support: https://thisismyurl.com/contact/
Per-screen exemptions
Notices can be kept visible on individual admin screens while staying suppressed everywhere else, so a screen where a notice carries real workflow meaning does not have to be won by turning the plugin off.
add_filter( 'thisismyurl_dashboard_notice_control_suppress_on_screen', function ( $suppress, $screen_id ) {
// Keep notices on the Updates and Site Health screens.
if ( in_array( $screen_id, array( 'update-core', 'site-health' ), true ) ) {
return false;
}
return $suppress;
}, 10, 2 );
The filter receives the suppression decision, the current screen ID, and the WP_Screen object. When no screen has been determined yet the ID is an empty string and suppression stays on, so an unrecognised context never silently stops suppressing. Keep your callback free of side effects: it runs several times per request.
This plugin’s own settings screen is exempt by default. WordPress prints the ”Settings saved.” confirmation directly rather than through a notice hook, so without the exemption you would save the allowlist and get no confirmation at all. Return true from the filter for that screen if you want it suppressed anyway.
Note that the same is true of other Settings screens: saving Settings > General or Reading prints its confirmation the same way, and it is hidden while suppression is on. Exempt those screens with the filter if your team relies on that confirmation.
WP-CLI
A read-only status command reports what the site is currently hiding and what is controlling it, which is useful in a deploy script or across a fleet without opening wp-admin.
wp thisismyurl-dashboard-notice-control status
wp thisismyurl-dashboard-notice-control status --format=json
It reports the plugin version, whether suppression is enabled, whether the enable and bypass constants are defined, whether JS auto-dismiss is on, whether network notices are suppressed, and the current allowlist. The command never writes anything; use the settings screen, the constants, or the filters to change behaviour.
Accessibility Considerations
This plugin can create accessibility and compliance risk because it suppresses status and error messaging in wp-admin.
If your admin users rely on assistive technologies, do not run this plugin without testing and operational controls.
Minimum recommended practice:
- Keep
THISISMYURL_DASHBOARD_NOTICE_CONTROL_AUTO_DISMISSdisabled (default). - Use the bypass query parameter during troubleshooting.
- Validate critical admin flows with keyboard-only and screen reader testing.
Recent a11y review outcome:
- Automated and specialist review completed.
- Result: not universally accessibility-safe as an all-or-nothing policy plugin.
- Recommendation: internal/controlled-use deployment unless your organization accepts this trade-off and has alternate alerting workflows.
