szepeviktor / persistent-admin-notices
Persistent admin notices for WordPress.
v0.2.0
2019-11-03 18:26 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpstan/phpstan-shim: ^0.11.8
- squizlabs/php_codesniffer: ^3.5
- szepeviktor/phpstan-wordpress: ^0.3.0
This package is auto-updated.
Last update: 2024-10-14 06:39:24 UTC
README
This package is for displaying admin notices for site-wide events not for individual user transactions. Here are some examples.
- [WP-Cron] Authentication token for XYZ API has expired.
- All Editors! Please finish your articles by 8pm.
- We have a new release v3.2.1. See new features at http://example.com/
- CSV import failed. We are out of sync!
- Incomplete ACF options: x, y, z
- All products are out of stock!
- Maximum X limit is reached. Please reduce X!
- John Doe is fired! Please do not contact him anymore.
// Use Composer instead: composer require szepeviktor/persistent-admin-notices // require __DIR__ . '/vendor/szepeviktor/persistent-admin-notices/src/PersistentNotices.php'; use WordPress\Admin\PersistentNotices; // Fire it up! \add_action('init', function () { new PersistentNotices(); }); // Or HookConstructorTo::init(PersistentNotices::class, 0); // New notice. PersistentNotices::add('slug', 'Something needs your attention!'); // New error notice. PersistentNotices::error('slug', 'An error needs to be resolved!'); // Check whether a notice is showing. if (PersistentNotices::isActive('slug')) {} // Delete notice. PersistentNotices::remove('slug'); // Customize notice. PersistentNotices::add( 'slug', 'Something very special needs your attention!', [ 'expiration' => PersistentNotices::PERSISTENT, // Expiration in seconds or PersistentNotices::ONCE 'type' => 'info', // Notice type: info, succes, warning, error. 'capability' => 'manage_options', // WordPress capability to receive notifications. 'priority' => 10, // Used to order notices. 'classes' => '', // Override CSS classes. 'noticeHtml' => '', // Override full notice HTML. ] );
What is the goal here??
When your plugin or theme handles admin notices you have to make a calculation or decision and display the notice every time.
If you use this package you have to make your calculation only once and
- Leave the notice there
- Or let the notice expire
- Or remove it at a later event
Additional benefit is to display notices in WordPress cron jobs and AJAX actions or REST calls.
Why not ... ?
- Dismissable notices cloud be very easily... dismissed.
- Notices on specific Admin Pages may be overlooked.
- Showing notices to a Specific User would make this package a messaging system.
Similar projects
- More wordpressy and user transaction oriented solution: https://github.com/WPTRT/admin-notices
- Tim Jensen's Organize Admin Notices
- WP Notify project