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;
}
}
?>