PHPackages                             szepeviktor/persistent-admin-notices - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. szepeviktor/persistent-admin-notices

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

szepeviktor/persistent-admin-notices
====================================

Persistent admin notices for WordPress.

v0.2.0(6y ago)6652[1 issues](https://github.com/szepeviktor/wordpress-persistent-admin-notices/issues)MITPHPPHP &gt;=7.1

Since Nov 1Pushed 6y ago1 watchersCompare

[ Source](https://github.com/szepeviktor/wordpress-persistent-admin-notices)[ Packagist](https://packagist.org/packages/szepeviktor/persistent-admin-notices)[ RSS](/packages/szepeviktor-persistent-admin-notices/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (3)Versions (3)Used By (0)

Persistent admin notices for WordPress
======================================

[](#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 *
- *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??

[](#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 ... ?

[](#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

[](#similar-projects)

- More wordpressy and user transaction oriented solution:
- Tim Jensen's [Organize Admin Notices](https://github.com/timothyjensen/organize-admin-notices)
- [WP Notify project](https://make.wordpress.org/core/2019/08/05/feature-project-proposal-wp-notify/)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

2

Last Release

2380d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/135d8104cdf926e2b15b6a06413153a9582729f0cd48ccba7bc7e62878a39781?d=identicon)[szepeviktor](/maintainers/szepeviktor)

---

Top Contributors

[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (18 commits)")

---

Tags

admin-noticeadmin-notificationslibrarywordpress

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/szepeviktor-persistent-admin-notices/health.svg)

```
[![Health](https://phpackages.com/badges/szepeviktor-persistent-admin-notices/health.svg)](https://phpackages.com/packages/szepeviktor-persistent-admin-notices)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
