*/ class ADSMANIA_settings { /** * The ID of this plugin. * * @since 1.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 1.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Initialize the class and set its properties. * * @since 1.0.0 */ public function __construct($plugin_name, $version) { $this->plugin_name = $plugin_name; $this->version = $version; $this->set_potions(); } /** * Register the setting page. * * @since 1.0.0 */ function register_settings_page($wp) { $wp->add_setting( 'header_textcolor' , array( 'default' => '#000000', 'transport' => 'refresh', ) ); } /** * Register the setting options and the dafault values. * * @since 1.0.0 */ public function set_potions() { // create options and set dafault values add_option('ads_sett_ic_bg','#000'); add_option('ads_sett_ic_close','3'); add_option('ads_sett_i_ads','ads_start_at'); add_option('ads_sett_c_max_ads','3'); add_option('ads_sett_c_ads','rand'); add_option('ads_sett_user_cont_msg',__('You must register to view this content',$this->plugin_name)); add_option('ads_sett_click_cont_msg',__('Click here to view this content',$this->plugin_name)); } /** * Add the ads setting page to the (Settings) menu. * * @since 1.0.0 */ function ads_settings_menu() { add_options_page( 'Ads Settings',__("Ads",$this->plugin_name),'manage_options',"{$this->plugin_name}_settings",function(){ // load the settings HTML template require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/partials/ads_post_settings.php'; } ); // add the first section add_settings_section( "{$this->plugin_name}_settings_section_1", __("Intro Ads",$this->plugin_name), function(){}, "{$this->plugin_name}_settings" ); // add the second section add_settings_section( "{$this->plugin_name}_settings_section_2", __("Articles Ads",$this->plugin_name), function(){}, "{$this->plugin_name}_settings" ); // add the third section add_settings_section( "{$this->plugin_name}_settings_section_3", __("Short codes",$this->plugin_name), function(){}, "{$this->plugin_name}_settings" ); } /** * register the options and generate the html input from code. * * @since 1.0.0 */ function ads_settings_init() { $this->add_setting_field('ads_sett_ic_bg', __('Background',$this->plugin_name),"1"); $this->add_setting_field('ads_sett_ic_close', __('Show close icon after (seconds)',$this->plugin_name),"1"); $this->add_setting_field('ads_sett_i_ads', __('Select Ads',$this->plugin_name),"1"); $this->add_setting_field('ads_sett_c_max_ads', __('Maximum ads per article',$this->plugin_name),"2"); $this->add_setting_field('ads_sett_c_ads', __('Select Ads',$this->plugin_name),"2"); $this->add_setting_field('ads_sett_user_cont_msg', __('User Content Message',$this->plugin_name),"3"); $this->add_setting_field('ads_sett_click_cont_msg', __('Click To view Message',$this->plugin_name),"3"); // register these fields with our settings group. $this->register_setting_group(array( 'ads_sett_ic_bg', 'ads_sett_ic_close', 'ads_sett_i_ads', 'ads_sett_c_max_ads', 'ads_sett_c_ads', 'ads_sett_user_cont_msg', 'ads_sett_click_cont_msg' )); } /** * Register the setting groups. * * @since 1.0.0 */ public function register_setting_group($groups) { foreach($groups as $group) { register_setting( "{$this->plugin_name}_settings_group", $group ); } } /** * Add the setting fields to the sctions and generate the HTML from codes. * * @since 1.0.0 */ public function add_setting_field($id, $name, $section) { switch($id) { case "ads_sett_ic_bg": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_ic_close": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_i_ads": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_c_max_ads": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_c_ads": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_user_cont_msg": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; case "ads_sett_click_cont_msg": add_settings_field($id, $name, function(){ echo ""; }, "{$this->plugin_name}_settings","{$this->plugin_name}_settings_section_$section"); break; } } }