Coder Social home page Coder Social logo

szepeviktor / wordpress-persistent-admin-notices Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 15 KB

Persistent admin notices for WordPress.

Home Page: https://packagist.org/packages/szepeviktor/persistent-admin-notices

PHP 100.00%
wordpress admin-notifications library admin-notice

wordpress-persistent-admin-notices's Introduction

Persistent admin notices for WordPress

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

  1. Leave the notice there
  2. Or let the notice expire
  3. 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

wordpress-persistent-admin-notices's People

Contributors

szepeviktor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wordpress-persistent-admin-notices's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.