=== SparkElevate Notice Control ===
Contributors: damianstrohmaier
Donate link: https://buymeacoffee.com/damianstrohmaier
Tags: admin notices, hide notices, notices, notifications, dashboard notifications
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Keep your WordPress admin area clean and distraction-free. Smartly hide and manage admin notices for yourself, specific roles, or the entire site.

== Description ==

Most notice plugins give you an on/off switch: notices are either visible or gone. SparkElevate Notice Control is built around the two questions that actually come up on a real site — **for how long** should a notice disappear, and **for whom**.

= Snooze instead of delete =

A notice is rarely useless forever. A licence reminder matters again next month; a rating request does not. So instead of removing a notice, you postpone it:

* **7 days** — for reminders you want back soon
* **30 days** — for licence or renewal notices
* **Until a date** — pick any day in a calendar
* **Permanently** — for notices you never want to see again

When the time is up, the notice comes back on its own. Nothing is lost, nothing is silently swallowed.

= Decide who stops seeing it =

This is where the plugin differs most. A snooze does not have to apply to everyone. By default it only affects your own account. Administrators can additionally hide a notice for:

* **specific roles** — for example all editors and authors, while administrators keep seeing it,
* **specific individual users** — found through a live search of the user database,
* **the whole site** — one switch, everyone.

That makes it practical for agencies: keep your client's dashboard clear without blinding yourself to the same message.

= See what you are bringing back =

Every hidden notice is stored with its original markup. Before you restore one, the confirmation dialog shows the notice exactly as it stood in the backend — so you know what will reappear instead of guessing from a title.

= Nothing is one click away from being lost =

Every action — hiding, editing, restoring, restoring everything — shows a toast with an **Undo** button. Misclicks are reversible.

= Core notices stay protected =

Failed updates, security warnings and maintenance messages from WordPress itself cannot be hidden. They show a small "Protected" badge instead of the snooze control. Developers can extend that protection list through the `sparkelevate_notice_control_is_protected` filter.

= The dashboard =

Under *Settings → SparkElevate Notice Control* every hidden notice appears as a card showing its source plugin, an excerpt, the remaining time and its scope. Filter by temporary and permanent, edit duration and scope at any time, restore individually or all at once.

= Built for real sites =

* No custom database tables; one lean, non-autoloaded option
* Nothing runs on the front end — the public side of your site is untouched
* Assets load only in the admin, the dashboard app only on its own page
* Expired snoozes clean themselves up when the list is next read
* Uninstalling removes every trace, including on Multisite networks

== External services ==

This plugin does not connect to any external service. It sends no data anywhere, loads no code from third-party servers, and contains no tracking or analytics. The Help & Support panel contains ordinary links to wordpress.org and to the author's Buy Me a Coffee page, which are only opened when you click them.

== Installation ==

1. In your admin, go to *Plugins → Add New* and search for "SparkElevate Notice Control", or upload the ZIP via *Plugins → Add New → Upload Plugin*.
2. Activate the plugin.
3. Hover over any admin notice and click the clock icon to hide it.
4. Manage hidden notices under *Settings → SparkElevate Notice Control*.

== Frequently Asked Questions ==

= Is SparkElevate Notice Control really completely free? =

Yes. The plugin is free, with no hidden costs and no paid tier. SparkElevate built it to give the WordPress community a clean, professional admin area.

= Does the plugin affect my site's loading time? =

No, not at all. The plugin is extremely lightweight and only ever loads inside the WordPress admin area. Nothing runs on the front end, so the speed your visitors experience is completely untouched.

= Do other users, such as editors or clients, still see the notices? =

That is entirely up to you. You have three levels of control: hide a notice for the whole site, target specific user roles, or make it invisible for particular individual users.

= Can I bring back notices I hid permanently? =

Yes. The settings page lists every notice you manage. You can adjust any of them at any time and bring a hidden notice back with a single click.

= Does hiding work with notices from all plugins and themes? =

The plugin intercepts the standard admin notices produced by WordPress, themes and most plugins — and your full control applies to all of them (site-wide, per role or per individual user). If a plugin ignores the official WordPress standards and prints its own custom banner instead, that banner may in rare cases stay visible.

= A notice I hid came back — why? =

Notices are identified by their content and their source plugin. Numbers inside a message (counters, dates, percentages) are ignored, so a countdown does not resurface a notice. If a plugin substantially rewords its message, it counts as a new notice and appears again — by design, so you never miss genuinely new information. Hidden notices also return automatically when their snooze period ends.

= Why can't I hide a specific notice? =

Notices from WordPress core — for example failed update or security warnings — are protected and always stay visible. They show a "Protected" badge when you hover over them.

= Who can hide notices for other users? =

Only administrators (users with the `manage_options` capability). Everyone else can hide notices for their own account only.

= Can other users see what I hid for myself? =

Snoozes that apply only to your account are visible to you and to administrators in the dashboard, but they never change what other users see in their backend.

= Does the plugin work with Multisite? =

Yes, on a per-site basis: every site of the network manages its own hidden notices. There is no network-wide management screen yet.

= What happens to my data when I uninstall the plugin? =

Everything is removed. Uninstalling deletes the plugin's options and the per-user settings, on every site of a network as well. The plugin creates no database tables, no cron jobs and no post meta, so nothing is left behind.

= In which languages is the plugin available? =

The interface is English and is translated through translate.wordpress.org, so it follows your WordPress language once a translation for your locale exists. Users can also pick a fixed interface language for their own account, choosing from the languages installed on the site.

= Where is the human-readable JavaScript source? =

The unminified source of the compiled files in `build/` ships with the plugin in the `src/` directory.

== Screenshots ==

1. The clean and minimal settings dashboard of SparkElevate Notice Control.
2. Temporarily hide annoying admin notices directly from your WordPress workspace.
3. Advanced visibility control: Hide notices globally, per user role, or for specific users.

== Changelog ==

= 1.0.0 =
* Initial release.
* Snooze admin notices for 7 days, 30 days, until a chosen date, or permanently.
* Scopes: own account, specific roles, specific users, or all users (administrators only).
* Dashboard with filters, editing, preview of the original notice, and restore.
* Undo for every action via toast notifications.
* Protection list for WordPress core and security notices, extensible via filter.
* Per-user interface language, chosen from the translations installed on the site.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
