plugin_name = $plugin_name; $this->version = $version; } /** * Add an options page under the Settings menu. */ public function add_plugin_admin_menu() { add_options_page( __( 'Advanced Redirect Manager', 'advanced-redirect-manager' ), // Page Title __( 'Redirect Manager', 'advanced-redirect-manager' ), // Menu Title 'manage_options', // Capability $this->plugin_name, // Menu Slug array( $this, 'display_plugin_setup_page' ) // Callback function ); } /** * Render the settings page for this plugin. */ public function display_plugin_setup_page() { $active_tab = 'redirect_rules'; // Imposta un default sicuro // Verifica il nonce prima di leggere $_GET['tab'] if ( isset( $_GET['tab'] ) && isset( $_GET['_wpnonce'] ) && wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'ncb_arm_tab_nav' ) ) { $active_tab = sanitize_key( $_GET['tab'] ); } $tabs = array( 'redirect_rules' => __( 'Redirect Rules', 'advanced-redirect-manager' ), '404_log' => __( '404 Error Log', 'advanced-redirect-manager' ), 'link_scanner' => __( 'Link Scanner', 'advanced-redirect-manager' ), 'tools' => __( 'Tools & Options', 'advanced-redirect-manager' ), 'support' => __( 'Support', 'advanced-redirect-manager' ), 'ncb_apps' => __( 'NewCodeByte Apps', 'advanced-redirect-manager' ), ); $tabs = apply_filters('ncb_arm_settings_tabs', $tabs); require_once NCB_ARM_PLUGIN_PATH . 'templates/admin-page-wrapper.php'; } public static function is_active_tab( $tab_key ) { $active_tab = 'redirect_rules'; // Imposta un default sicuro // Verifica il nonce prima di leggere $_GET['tab'] if ( isset( $_GET['tab'] ) && isset( $_GET['_wpnonce'] ) && wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'ncb_arm_tab_nav' ) ) { $active_tab = sanitize_key( $_GET['tab'] ); } return $active_tab === $tab_key; } }