Getting notice functionality in the admin panel
This commit is contained in:
parent
af75b9544a
commit
fa1807f5fc
@ -66,7 +66,7 @@ class AdminSettings {
|
|||||||
public function register_scripts(): void {
|
public function register_scripts(): void {
|
||||||
wp_enqueue_style( 'nmsp-plugin-name-admin-css', plugins_url( '../assets/css/nmsp-plugin-name-admin.css', __FILE__ ), array(), '1.0.0', 'screen' );
|
wp_enqueue_style( 'nmsp-plugin-name-admin-css', plugins_url( '../assets/css/nmsp-plugin-name-admin.css', __FILE__ ), array(), '1.0.0', 'screen' );
|
||||||
|
|
||||||
wp_register_script( 'nmsp-plugin-name-admin-js', plugins_url( '../assets/js/nmsp-plugin-name-admin.js', __FILE__ ), array( 'jquery' ), '1.0.0', false );
|
wp_register_script( 'nmsp-plugin-name-admin-js', plugins_url( '../assets/js/nmsp-plugin-name-admin.js', __FILE__ ), array(), '1.0.0', false );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
48
admin/nmsp-admin-functions.php
Normal file
48
admin/nmsp-admin-functions.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?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();
|
||||||
|
});
|
||||||
|
}
|
@ -11,12 +11,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
|
|
||||||
class App {
|
class App {
|
||||||
|
|
||||||
/** @var string */
|
|
||||||
public $version = '1.0.0';
|
|
||||||
|
|
||||||
/** @var string */
|
|
||||||
public $db_version = '1.0.0';
|
|
||||||
|
|
||||||
/** @var \PluginNamespace\App */
|
/** @var \PluginNamespace\App */
|
||||||
public static $instance;
|
public static $instance;
|
||||||
|
|
||||||
@ -32,6 +26,12 @@ class App {
|
|||||||
*/
|
*/
|
||||||
public static function plugin_activation(): void {
|
public static function plugin_activation(): void {
|
||||||
self::ensure_template_cache_dir_exists();
|
self::ensure_template_cache_dir_exists();
|
||||||
|
|
||||||
|
$plugin_metadata = array(
|
||||||
|
'plugin_version' => PLUGIN_NAME_VERSION,
|
||||||
|
'db_version' => PLUGIN_NAME_DB_VERSION,
|
||||||
|
);
|
||||||
|
add_option( 'nmsp_plugin_metadata', $plugin_metadata );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,9 +151,10 @@ class App {
|
|||||||
public function includes(): void {
|
public function includes(): void {
|
||||||
// Files to include on the admin.
|
// Files to include on the admin.
|
||||||
if ( is_admin() ) {
|
if ( is_admin() ) {
|
||||||
|
require_once NMSP_PLUGIN_BASE_DIR . '/admin/nmsp-admin-functions.php';
|
||||||
|
require_once NMSP_PLUGIN_BASE_DIR . '/admin/nmsp-update-functions.php';
|
||||||
require_once NMSP_PLUGIN_BASE_DIR . '/admin/class-adminsettings.php';
|
require_once NMSP_PLUGIN_BASE_DIR . '/admin/class-adminsettings.php';
|
||||||
}
|
}
|
||||||
//
|
|
||||||
|
|
||||||
// Files to include on every request.
|
// Files to include on every request.
|
||||||
//
|
//
|
||||||
|
@ -29,7 +29,7 @@ class CustomPage {
|
|||||||
public function enqueue_scripts(): void {
|
public function enqueue_scripts(): void {
|
||||||
wp_enqueue_style( 'nmsp-plugin-name-css', plugins_url( '../../assets/css/nmsp-plugin-name.css', __FILE__ ), array(), '1.0.0', 'screen' );
|
wp_enqueue_style( 'nmsp-plugin-name-css', plugins_url( '../../assets/css/nmsp-plugin-name.css', __FILE__ ), array(), '1.0.0', 'screen' );
|
||||||
|
|
||||||
wp_register_script( 'nmsp-plugin-name-js', plugins_url( '../../assets/js/nmsp-plugin-name.js', __FILE__ ), array( 'jquery' ), '1.0.0', false );
|
wp_register_script( 'nmsp-plugin-name-js', plugins_url( '../../assets/js/nmsp-plugin-name.js', __FILE__ ), array(), '1.0.0', false );
|
||||||
wp_enqueue_script( 'nmsp-plugin-name-js' );
|
wp_enqueue_script( 'nmsp-plugin-name-js' );
|
||||||
|
|
||||||
$payload = array(
|
$payload = array(
|
||||||
|
@ -40,6 +40,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
if ( ! defined( 'PLUGIN_NAME_VERSION' ) ) {
|
if ( ! defined( 'PLUGIN_NAME_VERSION' ) ) {
|
||||||
define( 'PLUGIN_NAME_VERSION', '1.0.0' );
|
define( 'PLUGIN_NAME_VERSION', '1.0.0' );
|
||||||
}
|
}
|
||||||
|
if ( ! defined( 'PLUGIN_NAME_DB_VERSION' ) ) {
|
||||||
|
define( 'PLUGIN_NAME_DB_VERSION', '1.0.0' );
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! defined('NMSP_PLUGIN_BASE_DIR') ) {
|
if ( ! defined('NMSP_PLUGIN_BASE_DIR') ) {
|
||||||
define( 'NMSP_PLUGIN_BASE_DIR', __DIR__ );
|
define( 'NMSP_PLUGIN_BASE_DIR', __DIR__ );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user