Admin notices in WordPress have been what they are today for… how many years? If I recall correctly, the current types of notices were introduced somewhere during the 3.x release cycle, although their legacy versions (anyone remember
.update-nag?) have been around for much longer.
Meanwhile, there is a core project looking into improving the API around admin notices (or ‘notifications’, see #feature-notifications, bless you, Jonathan Bossenger!). However, as with the admin menu, I’m going to outline a few ideas of my own here for the fun of it.
No house rules
With admin notices as they are, WordPress provides an open API for plugin and theme developers to message users in the ‘shared apartment’ that is their dashboard, and it has not enforced any house rules whatsoever up to today.
This has lead to the most amazing chaos. Free and paid plugins try to upsell the shit out of what is supposed to be a ‘success’ message; more sophisticated (or well funded) players such as Jetpack, or my favourite Block Lab brand their notices nicely, with a logo and extra CSS – which is great on the one hand, because users can identify which plugin is trying to get their attention, but it also can’t be the end of it.
WordPress must start to take responsibility for the coherence of its own UX, and currently that is still not happening.
The bell icon would often indicate a count of pending notifications and offer a way to access them, by opening a submenu, or by taking the user to an extra list view.
Recreating this common pattern in the WordPress toolbar seems quite straightforward, and it has been done (with or without the bell icon but otherwise same-ish) by plugins like Yoast SEO, Webcraftic Disable Admin Notices Individually (what’s with the name there?), WP Notification Center, and a bunch of others.
So is that it? Install a plugin, done?
Hardly. An integral component of WordPress’ UX like user notifications definitely can’t be dismissed as plugin territory. And it isn’t, as the core project mentioned above illustrates so well.
So what can we do? What should we be doing?
If we’re going to be conscious about people’s cognitive load, prioritising notifications for them seems low hanging fruit in order to create a smoother admin experience.
If only it were that smooth. I haven’t looked into it yet but I have a hunch that due to the complete absence of any requirements for using one of the
admin_notices hooks in WordPress, it could turn out difficult to retrieve any sort of data to base any prioritisation on. (Other than the four CSS classes
notice-info, but their use is completely arbitrary.)
However, if it was possible to determine who is sending a notice, I’d like to prioritise roughly like the following:
- Core updates
- Third-party updates (plugins/themes)
- Everything else
The aforementioned bell icon in the toolbar, yes, plus a submenu with a shortened excerpt and ‘more’ link for each notice, plus a dedicated dashboard widget (perhaps full-width) where all notices are listed according to their determined priority.
Yoast SEO has it’s own plugin dashboard where it pretty much does exactly that, although there weren’t any notices when I took my screenshot:
For a long time, I’ve only thought about admin notices in terms of what they do to me – warn, inform, market, annoy – but wouldn’t it be cool if you could actually do something with them?
- ⏰ Like, snooze a notices to show up again after some time?
- 🙈 Or hide it for your eyes but allow it to appear for other users if it wants to?
- 🗑 Or trash it for everyone forever?
Your turn! 🔥 How does all of this sound? What ideas do you have to improve admin notices in WordPress?
Comments are open as usual, und wenn du diesen Blog bisher auf Deutsch gelesen hast, fühl’ dich frei, auf Deutsch zu kommentieren!
You are also more than welcome to subscribe to this blog and get access to occasional private lab notes as well as the GitHub repo where I store the code I’m currently working on.