brand = new ATAC_Brand_Colors(); $this->widgets = new ATAC_Dashboard_Widgets(); add_action( 'admin_menu', array( $this, 'register_settings_page' ) ); add_filter( 'plugin_action_links_' . plugin_basename( ATAC_PLUGIN_FILE ), array( $this, 'plugin_action_links' ) ); } /** * Settings → AdrianToro Admin Palette. */ public function register_settings_page() { add_options_page( __( 'AdrianToro Admin Palette', 'adriantoro-admin-palette' ), __( 'AdrianToro Admin Palette', 'adriantoro-admin-palette' ), 'manage_options', 'adriantoro-admin-palette', array( $this, 'render_settings_page' ) ); } /** * Plugins list quick links. * * @param array $links Existing links. * @return array */ public function plugin_action_links( $links ) { $url = admin_url( 'options-general.php?page=adriantoro-admin-palette' ); array_unshift( $links, sprintf( '%s', esc_url( $url ), esc_html__( 'Settings', 'adriantoro-admin-palette' ) ) ); return $links; } /** * Settings page: points users at the live color panel + widget options. */ public function render_settings_page() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'adriantoro-admin-palette' ) ); } $this->widgets->maybe_save_settings(); $widget_settings = $this->widgets->get_settings(); ?>