Compare commits

..

No commits in common. "master" and "v1.0" have entirely different histories.
master ... v1.0

3 changed files with 26 additions and 75 deletions

View file

@ -81,11 +81,3 @@ By default all notices are shown within single site admin screens. If you have M
// Register new info notice to the queue.
$notices->add( 'custom-success', 'This is a custom dismissible notice.', 'success', true, true );
```


### Frontend Compatibility
If you'd like to print the notices in the front-end, then use the below action to your template.

```php
do_action( 'front_notices' );
```

View file

@ -1,7 +1,6 @@
{
"name": "duckdev/wp-flash-notices",
"description": "WordPress admin notices as flash notice using transient API to display after page reload.",
"version": "1.0.1",
"license": "GPL-2.0+",
"authors": [
{

View file

@ -64,27 +64,12 @@ class WP_Flash_Notices {
*
* @since 1.0.0
*/
public function __construct( $transient = 'duckdev_wp_flash_notices' ) {
public function __construct( $transient = 'jj_wp_flash_notices' ) {
// Make sure you set this unique, otherwise all notices will mixup.
$this->transient = $transient;

/**
* Filter hook to add new notice types.
*
* @param array $types Notice types (default wp notices).
* @param string $transient Transient name.
*
* @since 1.0.1
*/
$this->types = apply_filters(
'wp_flash_notices_notice_types',
$this->types,
$this->transient
);

// Render notices using WP action.
add_action( 'admin_notices', [ $this, 'render' ] );
add_action( 'front_notices', [ $this, 'render' ] );
add_action( 'network_admin_notices', [ $this, 'render' ] );

// Save all queued notices to transient.
@ -121,13 +106,11 @@ class WP_Flash_Notices {
/**
* Filter hook to modify notice item before adding to queue.
*
* @param string $key Notice key.
* @param array $notice Notice item.
* @param string $transient Transient name to identify the plugin.
* @param array $notice Notice item.
*
* @since 1.0.0
*/
apply_filters( 'wp_flash_notices_notice_item', $key, $notice, $this->transient );
apply_filters( 'wp_flash_notices_notice_item', $notice );

// Multisite network admin notices.
if ( is_multisite() && $network ) {
@ -143,16 +126,14 @@ class WP_Flash_Notices {
* Note: The notice item is not yet added to the transient when this
* action hook is fired.
*
* @param array $notice Notice item inserted.
* @param string $transient Transient name to identify the plugin.
* @param array $notices Current notice queue.
* @param array $network_notices Current network notices queue.
* @param array $notice Notice item inserted.
* @param array $notices Current notice queue.
* @param array $network_notices Current network notices queue.
*
* @since 1.0.0
*/
do_action( 'wp_flash_notices_after_queue_insert',
$notice,
$this->transient,
$this->notices,
$this->network_notices
);
@ -182,14 +163,12 @@ class WP_Flash_Notices {
/**
* Action hook fired after saving queued notices to transient.
*
* @param string $transient Transient name to identify the plugin.
* @param array $notices Notice queue.
* @param array $network_notices Network notices queue.
* @param array $notices Notice queue.
* @param array $network_notices Network notices queue.
*
* @since 1.0.0
*/
do_action( 'wp_flash_notices_after_save',
$this->transient,
$this->notices,
$this->network_notices
);
@ -214,19 +193,13 @@ class WP_Flash_Notices {
/**
* Filter hook to modify the notice item.
*
* @param array $notice Current notice.
* @param string $transient Transient name to identify the plugin.
* @param array $notices Notice list.
* @param bool $network Is network notice?.
* @param array $notice Current notice.
* @param array $notices Notice list.
* @param bool $network Is network notice?.
*
* @since 1.0.0
*/
return apply_filters( 'wp_flash_notices_get',
$notice,
$this->transient,
$notices,
$network
);
return apply_filters( 'wp_flash_notices_get', $notice, $notices, $network );
}

/**
@ -250,17 +223,12 @@ class WP_Flash_Notices {
/**
* Filter hook to modify the fetched notices array.
*
* @param array $notices Notice list.
* @param string $transient Transient name to identify the plugin.
* @param bool $network Is network notice?.
* @param array $notices Notice list.
* @param bool $network Is network notice?.
*
* @since 1.0.0
*/
return apply_filters( 'wp_flash_notices_fetch',
$notices,
$this->transient,
$network
);
return apply_filters( 'wp_flash_notices_fetch', $notices, $network );
}

/**
@ -285,12 +253,11 @@ class WP_Flash_Notices {
/**
* Action hook fired after clearing notices from transient.
*
* @param string $transient Transient name to identify the plugin.
* @param bool $network Network notice?.
* @param bool $network Network notice?.
*
* @since 1.0.0
*/
do_action( 'wp_flash_notices_after_clear', $this->transient, $network );
do_action( 'wp_flash_notices_after_clear', $network );
}

/**
@ -311,12 +278,11 @@ class WP_Flash_Notices {
/**
* Filter hook to disable auto rendering of admin notices.
*
* @param bool $enable Should render.
* @param string $transient Transient name to identify the plugin.
* @param bool $enable Should render.
*
* @since 1.0.0
*/
if ( apply_filters( 'wp_flash_notices_auto_render', true, $this->transient ) ) {
if ( apply_filters( 'wp_flash_notices_auto_render', true ) ) {
$network = is_network_admin();

// Get all notices.
@ -350,17 +316,12 @@ class WP_Flash_Notices {
*
* We are using this hook to clear all notices after rendering.
*
* @param string $transient Transient name to identify the plugin.
* @param array $notices Notices array.
* @param bool $network Is network admin?.
* @param array $notices Notices array.
* @param bool $network Is network admin?.
*
* @since 1.0.0
*/
do_action( 'wp_flash_notices_after_render',
$this->transient,
$notices,
$network
);
do_action( 'wp_flash_notices_after_render', $notices, $network );
}
}

@ -384,12 +345,11 @@ class WP_Flash_Notices {
* notices using `clear` method. Otherwise notices will be there
* and there no point in using this library anymore.
*
* @param bool $enable Should clear automatically after render?.
* @param string $transient Transient name to identify the plugin.
* @param bool $enable Should clear automatically after render?.
*
* @since 1.0.0
*/
if ( apply_filters( 'wp_flash_notices_auto_clear', true, $this->transient ) ) {
if ( apply_filters( 'wp_flash_notices_auto_clear', true ) ) {
// Clear all notices.
$this->clear( $network );
}