Un moyen simple et pratique de créer des notifications d’administrateur WordPress qui peuvent être fermées de manière persistante. En plus de cela, il possède quelques fonctionnalités intéressantes :
add_action ( ' admin_notices ' , function () {
$ notices_manager = ThanksToIT WPAN get_notices_manager ();
$ notices_manager -> create_notice ( array (
' id ' => ' my-notice ' ,
' content ' => ' <p>My Notice</p> ' ,
) );
} );
Remarque : Par défaut, cette bibliothèque fera persister les notifications, ce qui signifie qu'elles ne seront plus affichées après que l'utilisateur les aura fermées, à moins qu'elles n'expirent.
Afin de le faire fonctionner parfaitement, vous devez l' initialiser comme ceci :
add_action ( ' wp_ajax_ ' . ' tttwpan_dismiss_persist ' , array ( ' ThanksToITWPANNotices_Manager ' , ' ajax_dismiss ' ) );
add_action ( ' activated_plugin ' , array ( ' ThanksToITWPANNotices_Manager ' , ' set_activated_plugin ' ) );
add_action ( ' upgrader_process_complete ' , array ( ' ThanksToITWPANNotices_Manager ' , ' set_upgrader_process ' ), 10 , 2 );
Et il est important de passer ces appels avant tout autre hook sur votre plugin/thème. Mais ne vous inquiétez pas, cette bibliothèque ne sera chargée que lorsque cela sera nécessaire, car elle est appelée sur les hooks appropriés.
'notice-info'
, 'notice-warning'
, 'notice-success'
, 'notice-error'
, 'notice-info'
. La valeur par défaut est 'notice-info'
.true
.MONTH_IN_SECONDS
.'screen_id' => array( 'plugins' )
.'activated_plugin' => array('akismet/akismet.php')
.'updated_plugin' => array('akismet/akismet.php')
.'key'
et 'value'
. Exemple : 'request' => array( array( 'key' => 'show_notice', 'value' => '1' ), )
.array( 'activated_plugin', 'updated_plugin' )
, add_action ( ' admin_notices ' , function () {
$ notices_manager = ThanksToIT WPAN get_notices_manager ();
$ notices_manager -> create_notice ( array (
' id ' => ' 1-week-notice ' ,
' content ' => ' <p>1 week notice</p> ' ,
' dismissal_expiration ' => WEEK_IN_SECONDS ,
) );
} );
add_action ( ' admin_notices ' , function () {
$ notices_manager = ThanksToIT WPAN get_notices_manager ();
$ notices_manager -> create_notice ( array (
' id ' => ' plugins-page-notice ' ,
' content ' => ' <p>plugins page notice</p> ' ,
' display_on ' => array (
' screen_id ' => array ( ' plugins ' ),
)
) );
} );
add_action ( ' admin_notices ' , function () {
$ notices_manager = ThanksToIT WPAN get_notices_manager ();
$ notices_manager -> create_notice ( array (
' id ' => ' akismet-notice ' ,
' content ' => ' <p>Akismet notice</p> ' ,
' display_on ' => array (
' activated_plugin ' => array ( ' akismet/akismet.php ' )
)
) );
} );
Pour installer ce package, modifiez votre fichier composer.json
:
{
"require" : {
"thanks-to-it/wp-admin-notices" : "dev-master"
}
}
Maintenant, exécutez :
$ composer install