Moving some admin logic to the admin settings class
This commit is contained in:
parent
1d695ea372
commit
85f7d28a0f
@ -16,27 +16,50 @@ class AdminSettings {
|
||||
* @return void
|
||||
*/
|
||||
public function __construct() {
|
||||
add_action( 'admin_menu', array( $this, 'append_to_admin_menu' ), 12 );
|
||||
add_action( 'admin_menu', array( $this, 'add_admin_menu' ), 11 );
|
||||
add_action( 'admin_menu', array( $this, 'add_submenu_items' ), 12 );
|
||||
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Append to the admin menu (prevents doubling).
|
||||
* Setting up the WordPress admin menu for this plugin. Also setting up
|
||||
* a submenu item that will take the place of the main settings page.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function append_to_admin_menu(): void {
|
||||
$parent_slug = 'nmsp-plugin-name-menu-slug';
|
||||
$page_title = __( 'Namespace Plugin Name - Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$menu_title = __( 'Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$capability = 'manage_options';
|
||||
$menu_slug = $parent_slug;
|
||||
$callback = array( $this, 'show_main_settings_page' );
|
||||
public function add_admin_menu(): void {
|
||||
$page_title = __( 'Namespace Plugin Name - Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$menu_title = __( 'Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$capability = 'manage_options';
|
||||
$menu_slug = 'nmsp-plugin-name-menu-slug';
|
||||
$icon = plugins_url( '../assets/images/menu-icon.svg', __FILE__ );
|
||||
$position = 100;
|
||||
$callback = array( $this, 'show_main_settings_page' );
|
||||
|
||||
add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $callback );
|
||||
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, '', $icon, $position );
|
||||
add_submenu_page( $menu_slug, $page_title, $menu_title, $capability, $menu_slug, $callback );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Append to the admin menu entry for this plugin.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function add_submenu_items(): void {
|
||||
$parent_menu_slug = 'nmsp-plugin-name-menu-slug';
|
||||
$page_title = __( 'Namespace Plugin Name - Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$menu_title = __( 'Settings', 'nmsp_plugin_name_settings_title' );
|
||||
$menu_slug = $parent_menu_slug;
|
||||
$capability = 'manage_options';
|
||||
$callback = '';
|
||||
|
||||
add_submenu_page( $parent_menu_slug, $page_title, $menu_title, $capability, $menu_slug, $callback );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -113,28 +113,10 @@ class App {
|
||||
*/
|
||||
public function scaffold_plugin(): void {
|
||||
if ( is_admin() ) {
|
||||
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
|
||||
// admin only logic here
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Setting up the WordPress dashboard menu for this plugin.
|
||||
* Setting this here to be overriden later so that a base is always available.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function add_admin_menu(): void {
|
||||
$page_title = __( 'Namespace Plugin Name', 'nmsp_plugin_name_menu' );
|
||||
$menu_title = __( 'Namespace Plugin Name', 'nmsp_plugin_name_menu' );
|
||||
$capability = 'manage_options';
|
||||
$menu_slug = 'nmsp-plugin-name-menu-slug';
|
||||
$callback = '';
|
||||
$icon = plugins_url( '../assets/images/menu-icon.svg', __FILE__ );
|
||||
$position = 100;
|
||||
|
||||
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $callback, $icon, $position );
|
||||
// other logic here
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user