wp-plugin-boilerplate/admin/nmsp-admin-functions.php

49 lines
1.0 KiB
PHP

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Show a notice on the admin panel.
*
* @since 1.0.0
*
* @param string $message The message to show in the notice
* @param string $type The 'type' of notice, e.g. info (default), success, warning, or error
* @param bool $dismissible Whether the notice should be dismissible
*
* @return string
*/
function nmsp_admin_notice( string $message, string $type = 'info', bool $dismissible = true ) {
$classes = 'notice';
switch ($type) {
case 'success':
$classes .= ' notice-success';
break;
case 'warning':
$classes .= ' notice-warning';
break;
case 'error':
$classes .= ' notice-error';
break;
case 'info':
default:
$classes .= ' notice-info';
}
if ( $dismissible ) {
$classes .= ' is-dismissible';
}
add_action( 'admin_notices', function () use ( $classes, $message ) {
ob_start();
?>
<div class="<?php echo $classes; ?>">
<p><?php _e( $message, 'nmsp-plugin-name-text-domain' ); ?></p>
</div>
<?php
echo ob_get_clean();
});
}