refactor: create Admin Manager class and move menu registration
This commit is contained in:
35
admin/includes/class-admin-manager.php
Normal file
35
admin/includes/class-admin-manager.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* WP ALLSTARS Admin Manager
|
||||||
|
*
|
||||||
|
* Handles admin-related functionality including menu registration,
|
||||||
|
* script enqueueing, and admin page rendering.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('ABSPATH')) {
|
||||||
|
exit; // Exit if accessed directly
|
||||||
|
}
|
||||||
|
|
||||||
|
class WP_Allstars_Admin_Manager {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the class
|
||||||
|
*/
|
||||||
|
public static function init() {
|
||||||
|
// Register hooks - we'll add more as we refactor each function
|
||||||
|
add_action('admin_menu', array(__CLASS__, 'register_admin_menu'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the admin menu item
|
||||||
|
*/
|
||||||
|
public static function register_admin_menu() {
|
||||||
|
add_options_page(
|
||||||
|
'WP ALLSTARS Settings',
|
||||||
|
'WP ALLSTARS',
|
||||||
|
'manage_options',
|
||||||
|
'wp-allstars',
|
||||||
|
'wp_allstars_settings_page'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -3,17 +3,12 @@
|
|||||||
* Admin settings page
|
* Admin settings page
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Add menu item
|
// Add menu item - now handled by WP_Allstars_Admin_Manager class, but kept for backward compatibility
|
||||||
function wp_allstars_admin_menu() {
|
function wp_allstars_admin_menu() {
|
||||||
add_options_page(
|
// This function now redirects to the Admin Manager class
|
||||||
'WP ALLSTARS Settings',
|
// Kept for backward compatibility
|
||||||
'WP ALLSTARS',
|
WP_Allstars_Admin_Manager::register_admin_menu();
|
||||||
'manage_options',
|
|
||||||
'wp-allstars',
|
|
||||||
'wp_allstars_settings_page'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
add_action('admin_menu', 'wp_allstars_admin_menu');
|
|
||||||
|
|
||||||
// Register settings
|
// Register settings
|
||||||
function wp_allstars_register_settings() {
|
function wp_allstars_register_settings() {
|
||||||
@ -49,6 +44,7 @@ require_once dirname(__FILE__) . '/includes/class-tools-manager.php';
|
|||||||
require_once dirname(__FILE__) . '/includes/class-theme-manager.php';
|
require_once dirname(__FILE__) . '/includes/class-theme-manager.php';
|
||||||
require_once dirname(__FILE__) . '/includes/class-hosting-manager.php';
|
require_once dirname(__FILE__) . '/includes/class-hosting-manager.php';
|
||||||
require_once dirname(__FILE__) . '/includes/class-recommended-plugins-manager.php';
|
require_once dirname(__FILE__) . '/includes/class-recommended-plugins-manager.php';
|
||||||
|
require_once dirname(__FILE__) . '/includes/class-admin-manager.php';
|
||||||
|
|
||||||
// Initialize the managers
|
// Initialize the managers
|
||||||
WP_Allstars_Plugin_Manager::init();
|
WP_Allstars_Plugin_Manager::init();
|
||||||
@ -58,6 +54,7 @@ WP_Allstars_Tools_Manager::init();
|
|||||||
WP_Allstars_Theme_Manager::init();
|
WP_Allstars_Theme_Manager::init();
|
||||||
WP_Allstars_Hosting_Manager::init();
|
WP_Allstars_Hosting_Manager::init();
|
||||||
WP_Allstars_Recommended_Plugins_Manager::init();
|
WP_Allstars_Recommended_Plugins_Manager::init();
|
||||||
|
WP_Allstars_Admin_Manager::init();
|
||||||
|
|
||||||
|
|
||||||
// Remove the old plugins API filter since we're handling everything in the AJAX endpoint
|
// Remove the old plugins API filter since we're handling everything in the AJAX endpoint
|
||||||
|
Reference in New Issue
Block a user