setting = $setting; if(isset( $this->setting['default'] )){ $this->saved_value = get_option($this->setting['field'], $this->setting['default']); }else{ $this->saved_value = get_option($this->setting['field']); } if(isset( $this->setting['pro'] )){ if($this->setting['pro']){ $this->pro = ' free-version '; $this->setting['desc'] = 'Workes in Pro version only / Without PRO version this setting will have no effect'; }else{ $this->pro = ' paid-version '; } }else{ $this->pro = ""; } $this->check_field_type(); } function check_field_type(){ if(isset($this->setting['type'])): switch ($this->setting['type']){ case 'select': $this->select_box(); break; case 'number': $this->number_box(); break; case 'text': $this->text_box(); break; case 'textarea': $this->textarea_box(); break; case 'multiselect': $this->multiselect_box(); break; case 'color': $this->color_box(); break; case 'hidden': $this->hidden_box(); break; } endif; } /* Field type: select box */ function select_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo ''; } /* Field type: select box */ function multiselect_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo ''; } /* Field type: Number box */ function number_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo 'setting['min']) ? ' min="'.$this->setting['min'].'"': ''); echo (isset($this->setting['max']) ? ' max="'.$this->setting['max'].'"': ''); echo (isset($this->setting['required']) ? ' required="'.$this->setting['required'].'"': ''); echo (isset($this->setting['readonly']) ? ' readonly="'.$this->setting['readonly'].'"': ''); echo '>'; } /* Field type: Number box */ function text_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo 'setting['required']) ? ' required="'.$this->setting['required'].'"': ''); echo (isset($this->setting['readonly']) ? ' readonly="'.$this->setting['readonly'].'"': ''); echo '>'; } /* Textarea field */ function textarea_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo ''; } /* Field type: color */ function color_box(){ wp_enqueue_style( 'wp-color-picker'); wp_enqueue_script( 'wp-color-picker'); wp_add_inline_script('wp-color-picker',' jQuery(document).ready(function($) { $(".color-picker").wpColorPicker(); }); '); echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo 'setting['required']) ? ' required="'.$this->setting['required'].'"': ''); echo (isset($this->setting['readonly']) ? ' readonly="'.$this->setting['readonly'].'"': ''); echo '>'; } function hidden_box(){ echo '
'; echo (isset($this->setting['desc'])) ? '
'.$this->setting['desc'].'' : ""; echo '
'; echo 'setting['required']) ? ' required="'.$this->setting['required'].'"': ''); echo (isset($this->setting['readonly']) ? ' readonly="'.$this->setting['readonly'].'"': ''); echo '>'; } } endif;