%2$s', menu_page_url( 'northe-instagram-widget', false ), esc_html__( 'Settings', 'acosmin-north-extensions' ) ); array_unshift( $links, $settings_link ); return $links; } public function add_admin_menu() { add_options_page( 'Instagram Settings', 'Instagram Settings', 'manage_options', 'northe-instagram-settings', array( $this, 'settings_page' ) ); } public function settings_init() { register_setting( 'northe-instagram-settings-group', 'northe-instagram-settings', array( $this, 'sanitize' ) ); add_settings_section( 'northe-instagram-settings-general', null, '__return_false', 'northe-instagram-settings-group' ); add_settings_field( 'northe-instagram-widget-access-token', __( 'Access Token', 'acosmin-north-extensions' ), array( $this, 'settings_field_access_token' ), 'northe-instagram-settings-group', 'northe-instagram-settings-general' ); } public function settings_field_access_token() { $settings = get_option( 'northe-instagram-settings' ); ?>


is_configured() ) : ?>
__( "You are already connected to Instagram.\r\n\r\nDo you want to connect again?", 'acosmin-north-extensions' ), ) ); } public function sanitize( $input ) { $result = array(); $result[ 'access-token' ] = sanitize_text_field( $input[ 'access-token' ] ); $validation_result = Northe_API_Instagram::is_access_token_valid( $result[ 'access-token' ] ); if ( $validation_result !== true ) { $access_token_error_message = __( 'Provided access token is has been rejected by Instagram Api. Please check your input data.', 'acosmin-north-extensions' ); if ( is_wp_error( $validation_result ) ) { $access_token_error_message = $validation_result->get_error_message(); } if ( $validation_result !== true ) { add_settings_error( 'northe-instagram-widget-access-token', esc_attr( 'northe-instagram-widget-access-token-invalid' ), $access_token_error_message, 'error' ); } $result['access-token'] = ''; } Northe_API_Instagram::reset_cache(); return $result; } } new Northe_Instagram_Settings();