szepeviktor/persistent-admin-notices 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

szepeviktor/persistent-admin-notices

最新稳定版本:v0.2.0

Composer 安装命令:

composer require szepeviktor/persistent-admin-notices

包简介

Persistent admin notices for WordPress.

README 文档

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

  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

统计信息

  • 总下载量: 627
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-03