Stop letting one real warning hide behind a dozen update nags
Notifications Off-Canvas turns WordPress's admin notices into a proper WordPress admin notifications panel — a single slide-in sidebar triggered by a bell in the admin bar, instead of a stack piling up at the top of every screen — so the notice that actually matters isn't buried, and the screen underneath goes back to being the screen that was opened.
- A single bell button replaces a growing stack of notices on every screen.
- Notices persist as read, muted, or deleted per user, across sessions.
- Filter by Error, Warning, Success, or Info to find what matters fast.
- Notices are never lost if the panel script fails to load.
Payment gateway API key is invalid or expired.
A plugin update is available for review.
New version 2.4 changelog is ready to view.
What does the WordPress admin notifications panel do?
When the notifications_offcanvas module is active, TOWP_Notifications_Offcanvas hides WordPress's own admin notices before they render on screen and moves them into a WordPress admin notifications panel that slides in from the side, opened from a bell button added to the admin bar. The button's badge shows the current unread count, computed from each user's own saved state so it's correct on the very first page load, without waiting on an AJAX request. Inside the panel, an administrator can filter notices by type, mark them as read individually or all at once, mute them permanently, or delete them, and that state saves per user and persists across sessions.
Every notice stacks up, and nothing tells them apart
Since WordPress treats every notice the same way, an urgent warning and a routine license reminder therefore end up looking identical.
The important warning sits among a dozen about licenses
Notices are a queue that nothing ever clears, so the one that actually matters ends up sitting among a dozen about plugin licenses and available updates.
Every notice pushes the actual page further down
Each notice adds more height above the content, pushing the screen someone actually opened further and further out of view.
One admin notifications panel, everything sorted and searchable
The module clears every notice from the top of the screen into a proper WordPress admin notifications panel, with the tools to sort through them quickly.
A single bell, not a growing stack
One button in the admin bar replaces however many notices would otherwise be piling up at the top of the screen.
Filtered by type, found in seconds
Switch between Error, Warning, Success, and Info to isolate exactly the kind of notice actually worth reading right now.
Read, muted, or gone — the choice sticks
Mark a notice as read, mute it permanently, or delete it outright, and that choice persists across sessions for that specific user.
A real WordPress admin notifications panel, not a simple toggle
Every capability below is present in the supplied PHP class and its settings registration.
An early style guard, not a post-load cleanup
An inline style hides the admin notices this panel is about to absorb before the page paints, so nothing flashes in its original spot first.
A five-second safety net reveals notices automatically
If the panel's JavaScript never takes over, whether from an error, a block, or the module changing mid-request, the hidden notices reveal themselves automatically instead of staying invisible forever.
Pre-computed server-side, no AJAX flash
The module calculates the badge count from each user's saved state during the initial page render, so it shows the right number immediately rather than updating a moment later.
Three distinct states, not just one
An administrator can mark a notice read without making it disappear, mute it so it never reappears, or delete it outright, and the module tracks and persists each state independently.
The panel is available on the front end too
Since the module hooks both admin and front-end footers, the same notification panel works anywhere the admin bar is visible, not only inside wp-admin.
Old entries drop off instead of accumulating forever
The module caps read and deleted ID lists at 200 entries and stored notices at 50, so the saved state can't grow indefinitely in the database.
Where a quieter admin helps most
The module supports any site where notices have become part of the daily noise.
Sites managed day to day by more than one person
Give each admin or editor their own independent read, muted and deleted state, without one person's cleanup affecting anyone else's view.
Busy admin screens with plugins that notify often
Cut through frequent update nags and license reminders to find the notice that's actually worth acting on.
Client-facing or white-labeled admin experiences
Present a cleaner wp-admin, with routine notices tucked away instead of stacked across the top of every screen.
A calmer screen, without losing anything
The module combines a genuinely quieter interface with state that's tracked carefully, not just hidden.
Computed once, bounded by design
The verified implementation stays lightweight and predictable regardless of how long a site has been running.
One inline style, computed once per page
The module calculates both the preload guard and the badge count during the normal page render, adding no extra request before first paint.
Bounded storage per user
Capped entry counts keep each user's saved state small and predictable, no matter how long the site has run.
No effect on the front end without an admin bar
The panel and its assets only load where the admin bar is actually showing, adding nothing for a logged-out visitor.
Sanitized, validated, and properly scoped
The code treats even WordPress's own notice content with the same care as any other stored input.
The module sanitizes notice content before storing it
Notice HTML runs through wp_kses_post() before saving, even though it originates from WordPress's own admin notices.
Deleted notices are stripped again on load, server-side
The server removes an already-deleted notice from the response before it reaches the browser, rather than only filtering it visually on the client.
Every AJAX action is nonce-verified
Loading and saving notification state both require a valid nonce tied to the current session.
Notice type must match a known allowlist
Any notice type outside error, warning, success, info, or update normalizes to info instead of saving as-is.
Built directly around WordPress's own admin bar and notice system
The supplied code integrates through APIs present in WordPress core; this page makes no compatibility claim beyond the verified implementation.
admin_bar_menu action
The native WordPress action used to add the bell button and its live unread badge to the admin bar.
admin_head, priority 1
The native WordPress hook used to inject the preload style before WordPress's own admin notices have a chance to render visibly.
admin_footer and wp_footer
The native WordPress hooks used to output the panel markup wherever the admin bar is showing, on both the admin and the front end.
TheOneWP versus the default WordPress experience
Compare the verified Notifications Off-Canvas implementation with how notices behave by default.
| Capability | TheOneWP Notifications Off-Canvas | Default WordPress behavior |
|---|---|---|
| Where notices go | Collected into one slide-in panel, off the page | Notices stack at the top of every screen |
| Read/muted/deleted state | Three independent states, all persisted per user | No persistence at all; notices reappear every page load |
| First-paint accuracy | Badge and hidden notices correct immediately | Not applicable; notices render inline with no badge system |
| Failure handling | Notices reveal automatically if the script fails | Not applicable; nothing is hidden by default |
| Coverage | Works on the front end wherever the admin bar shows | Notices are shown only inside wp-admin screens |
Clear the clutter in four steps
The bell button is the entry point to the whole WordPress admin notifications panel.
Enable Notifications Off-Canvas
Activate the module from the TheOneWP Backend settings tab.
Open the bell in the admin bar
Click the bell button to slide the panel open and see every collected notice.
Filter, read, or mute as needed
Use the type filters to narrow the list, and mark notices as read or muted as they're handled.
Delete what's no longer relevant
Clear out individual notices, or use delete all once the review is done.
Keep the badge count meaningful, not just ignored
The panel works best when it's actually reviewed rather than left to accumulate.
Check the badge count regularly rather than letting it grow
A small, current count is far easier to work through than one that's been ignored for weeks.
Mute recurring notices that never need action
A notice that reappears every load but never requires a response is a good candidate for muting rather than repeatedly dismissing.
Use the filters before assuming nothing important is there
An error-type notice can get lost among several info-type ones; filtering by Error first is the fastest way to check.
Leave the module active site-wide rather than per-user
Since the module already tracks state per user, everyone gets their own clean view without needing separate configuration.
Avoid a couple of details worth clarifying upfront
A few behaviors are easy to misread the first time through.
Assuming muting a notice deletes it
Muting keeps a notice available in the separate muted section; deleting is the action that removes it outright.
Not realizing the panel also works on the front end
The same notification panel is available anywhere the admin bar shows, not just inside wp-admin.
Expecting every notice to appear instantly, mid-session
A notice that appears after the panel's state was last loaded shows up on the next full page load, not through a live update while the panel is already open.
Notifications Off-Canvas FAQ
These answers come directly from the verified class and its settings registration.
What does Notifications Off-Canvas do?
It collects WordPress admin notices into a slide-in panel opened from a bell button in the admin bar, instead of leaving them stacked at the top of every screen.
Does the unread count update instantly on page load?
Yes. The badge is calculated from each user's saved state during the page render itself, so it's accurate from the first paint.
What's the difference between marking a notice as read and muting it?
A read notice stays available but no longer counts as unread; a muted notice moves to a separate section and won't be shown as active again.
Can notices be filtered by type?
Yes. The panel filters between All, Error, Warning, Success, and Info.
Does each user see their own read and deleted state?
Yes. Read, muted, and deleted state is saved per user, so one person's changes don't affect anyone else.
What happens if the panel's script fails to load?
Hidden notices reveal themselves automatically after a few seconds, so nothing stays permanently invisible.
Does this work outside of wp-admin?
Yes. The panel is available anywhere the admin bar is showing, including the front end.
Is notice content sanitized before being stored?
Yes. Notice HTML is sanitized before saving, even though it originates from WordPress's own admin notices.
Can the saved notification state grow indefinitely?
No. Read and deleted lists are capped at 200 entries, and stored notices are capped at 50.
Who can configure this module?
Only an administrator with access to the TheOneWP settings screen.
Stop letting notices bury what actually matters.Collect them into one panel, sorted and searchable.
Use Notifications Off-Canvas to move admin notices into a WordPress admin notifications panel with per-user read, mute, and delete state, so the screen underneath stays the screen that was actually opened.

