settings = $settings; add_action('admin_menu', array($this, 'settings_menu')); add_action('admin_init', array($this, 'settings_init')); } function settings_content() { $this->plugin_options = get_option('easy_opt_in_settings'); ?>

Settings

settings[ 'provider' ]; $provider_settings = $this->settings[ 'providers' ][ $provider_id ][ 'settings' ]; register_setting('easy_opt_in_settings_group', 'easy_opt_in_settings', array($this, 'sanitize')); add_settings_section('setting_api_settings', 'MailChimp API Settings', false, basename(__FILE__)); foreach ( $provider_settings as $setting => $params ) { $params[ 'provider_id' ] = $provider_id; $params[ 'setting' ] = $setting; add_settings_field( "easy_opt_in_settings[{$provider_id}_{$setting}]" , $params[ 'title' ] , array( $this, 'provider_setting' ) , basename( __FILE__ ) , 'setting_api_settings' , $params ); } } public function provider_setting( $args ) { // !dd( $args, $this->settings ); echo str_replace( array( '{{setting_name}}' ) , array( "easy_opt_in_settings[{$args['provider_id']}_{$args['setting']}]" ) , $args[ 'html' ] ); } public function callback_api_key() { printf( ''. '

Where can I find my Campaign Monitor API key?

', esc_attr($this->plugin_options['api_key']) ); } public function callback_double_opt_in() { $plugin_options = $this->plugin_options; K::input( 'easy_opt_in_settings[double_opt_in]' , array( 'type' => 'radio', 'value' => 'true', 'checked' => K::get_var( 'double_opt_in', $plugin_options ) !== 'false' ? 'checked' : null, ) , array( 'format' => '
' ) ); K::input( 'easy_opt_in_settings[double_opt_in]' , array( 'type' => 'radio', 'value' => 'false', 'checked' => K::get_var( 'double_opt_in', $plugin_options ) === 'false' ? 'checked' : null, ) , array( 'format' => '
' ) ); } public function sanitize($input) { // Update notice if( ! $this->sanitize_done ) { add_settings_error('easy_opt_in_settings_group', '200', 'Settings saved.', 'updated'); $this->sanitize_done = true; } return $input; } } ?>