Refactor(Settings): Implement WP Settings API for Settings Manager

- Refactored WPALLSTARS_Settings_Manager to use the standard WordPress Settings API.
- Stores all settings in a single 'wpallstars_options' array.
- Implemented register_setting, sections, fields, render callbacks, and sanitization.
- Updated display_general_tab and display_advanced_tab to use settings_fields() and do_settings_sections().
- Adjusted WPALLSTARS_Admin_Manager to initialize the refactored settings manager.
- Kept original menu structure (add_options_page) and file names for stability.
- Temporarily removed AJAX instant-save functionality.
This commit is contained in:
2025-04-19 13:17:51 +01:00
parent a3bf7fc78f
commit a5582d7644
2 changed files with 299 additions and 164 deletions
+4 -3
View File
@@ -17,18 +17,19 @@ class WP_Allstars_Admin_Manager {
*/
public static function init() {
add_action('admin_menu', array(__CLASS__, 'register_admin_menu'));
add_action('wp_ajax_wp_allstars_update_option', array(__CLASS__, 'update_option'));
add_action('admin_init', array(__CLASS__, 'register_settings'));
add_action('admin_enqueue_scripts', array(__CLASS__, 'enqueue_admin_scripts'));
// Initialize all manager classes
WP_Allstars_Settings_Manager::init();
WP_Allstars_Settings_Manager::init();
WP_Allstars_Theme_Manager::init();
WP_Allstars_Workflow_Manager::init();
WP_Allstars_Pro_Plugins_Manager::init();
WP_Allstars_Tools_Manager::init();
WP_Allstars_Hosting_Manager::init();
WP_Allstars_Free_Plugins_Manager::init();
// Register AJAX actions
add_action('wp_ajax_wp_allstars_update_option', array(__CLASS__, 'update_option'));
}
/**