Home

Awesome

WordPress Dismissible Notices Handler

Scrutinizer Code Quality

Since version 4.2, WordPress has a built-in mechanism for handling dismissible admin notices. While this mechanism handles dismissing notices, the dismissal isn't persistent. This means that a user would see the notice on every page load, even though he or she dismissed the notice already.

What the Dismissible Notices Handler (DNH) library does is handle the persistent part of dismissing admin notices.

How It Works

The DNH library is extremely simple to use and yet has a couple of advanced options.

The basics of it is to register a new admin notice. You really need 3 things for registering a notice:

There is a handy helper function available for notice registration: dnh_register_notice()

This function takes 4 parameters:

Installation

The simpest way to use DNH is to add it as a Composer dependency:

composer require julien731/wp-dismissible-notices-handler

Example

Registering an admin notice would look like that:

dnh_register_notice( 'my_notice', 'updated', __( 'This is my notice' ) );

Advanced Parameters

The function takes an array of optional parameters allowing more control over the notices and how they're dismissed. Only 3 parameters are available so far but hopefully more will be coming soon.

Hereafter is the list of available parameters to be passed in the $args array. Please note that the $args parameter is optional.

ParameterPossible Value(s)DefaultDescription
scopeuser, globaluserWhether the notice should be dismissed for the current user only or globally on the site. A notice dismissed for a user will still show up for other users, while a notice dismissed globally will not be displayed anymore after being dismissed once.
capAny WordPress capabilityIf not empty, the handler will check if the current user has the specified before displaying the notice.
classstringAdditional class to add to the notice wrapper