=== DashClean Admin Notice Manager ===
Contributors: wpsubmit
Tags: admin notices, notice manager, dashboard notifications, admin bar, dashboard cleanup
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage WordPress admin notices with a top bar tray, selective hide rules, and a hidden notice inbox.

== Description ==

DashClean Admin Notice Manager helps clean up WordPress admin notices and dashboard notifications without turning into a blanket "hide everything" plugin.

It works as an admin notice manager for WordPress sites by moving routine admin notices into a unified tray in the top admin bar, keeping workflow-critical feedback visible when needed, letting you hide selected admin notices with explicit suppression rules, and recording hidden notices in a compact inbox for review.

This makes DashClean useful for site owners, freelancers, agencies, and client sites that want cleaner dashboard notice management without losing visibility into save confirmations, update prompts, or intentionally filtered notices.

Features:

* WordPress admin notice tray in the top admin bar with a notice counter.
* Admin notice manager workflow for cleaner dashboard notification handling.
* Captures common admin notices via output buffering.
* Hide selected admin notices and dashboard notifications with selective rules.
* Optional role-based notice cleanup for non-administrators.
* Optional Dashboard Welcome Panel hiding.
* Optional inline success and error feedback notices.
* Optional inline plugin, theme, and core update notice visibility.
* Selective notice suppression rules using class, plugin slug, text, and URL matching.
* Hidden notice inbox with restore and reset workflow.
* Admin bar item manager to hide selected admin bar nodes.
* Lightweight frontend behavior with vanilla JavaScript.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate the plugin through the Plugins menu in WordPress.
3. Go to **Settings > DashClean**.
4. Configure the tray and visibility options.

== Frequently Asked Questions ==

= Does DashClean store captured admin notices in the database? =

DashClean handles notice markup in request/runtime flow. It only stores compact hidden-notice metadata for the inbox, not raw notice HTML.

= Can DashClean disable admin notices or hide dashboard notifications? =

Yes. DashClean can hide selected admin notices and dashboard notifications using selective suppression rules. It is designed to avoid hiding important save and update workflows by default.

= Can I hide the default Welcome panel? =

Yes. Enable **Hide Welcome Panel on Dashboard** in settings.

= Does DashClean hide WordPress update notices by default? =

No. The plugin keeps update-related notices visible inline by default so maintenance workflows remain clear.

= Is DashClean useful for client site dashboard cleanup? =

Yes. DashClean can reduce dashboard clutter for non-administrators while keeping the admin experience cleaner and more focused.

== Upgrade Notice ==

= 1.3.1 =

Adds a Plugins screen quick `Settings` link and a scoped donation link on DashClean’s plugin row.

= 1.3.0 =

Review-focused hardening release. DashClean now clearly preserves inline update workflows, removes risky blanket suppression behavior, and positions itself as a selective notice-management tool.

= 1.2.1 =

Internal hardening update: extracted inbox storage class, improved i18n text handling, and added AJAX logging for dynamically suppressed notices.

= 1.0.0 =

Initial release of DashClean.

== Changelog ==

= 1.3.1 =

* Added a `Settings` quick link on the Plugins screen for faster access to DashClean options.
* Added a scoped `Donate` link on DashClean's plugin row in the Plugins screen.

= 1.3.0 =

* Refocused the plugin on safe, selective notice management rather than blanket suppression.
* Removed update-notice suppression and redirect-blocking behavior that could interfere with normal admin workflows.
* Clarified the settings menu label to **DashClean** and tightened settings copy.
* Kept update-related notices visible inline by default.
* Improved the readme positioning to better explain the plugin's targeted workflow.

= 1.2.1 =

* Extracted hidden inbox persistence into a dedicated storage class for cleaner architecture.
* Added AJAX logging so dynamically suppressed notices are captured in the hidden inbox.
* Improved i18n text handling for fallback and empty-state labels.

= 1.0.0 =

* Initial release.
* Admin notice tray with counter and dropdown.
* Settings page with toggle controls.
* Welcome panel hiding, selective rule matching, hidden-notice inbox, and admin bar item manager.
