/**
  * Validates saved options
  *
  * @since 		1.0.0
  *
  * @param 		array 		$input 			array of submitted plugin options
  *
  * @return 		array 						array of validated plugin options
  */
 public function validate_options($input)
 {
     $valid = array();
     $options = $this->get_options_list();
     foreach ($options as $option) {
         $sanitizer = new Class_Names_Sanitize();
         $valid[$option[0]] = $sanitizer->clean($input[$option[0]], $option[1]);
         if ($valid[$option[0]] != $input[$option[0]]) {
             add_settings_error($option[0], $option[0] . '_error', esc_html__($option[0] . ' error.', 'text-domain'), 'error');
         }
         unset($sanitizer);
     }
     return $valid;
 }
 /**
  * Saves metabox data
  *
  * @hooked 		save_post 		10
  * @since 		1.0.0
  * @access 		public
  * @param 		int 			$post_id 		The post ID
  * @param 		object 			$post_obj 			The post object
  */
 public function validate_meta($post_id, $post_obj)
 {
     wp_die(print_r($this->fields));
     $validate = $this->pre_validation_checks($_POST, $post_id, $post_obj);
     if (!$validate) {
         return $post_id;
     }
     wp_die('<pre>' . print_r($_POST) . '</pre>');
     foreach ($this->fields as $meta) {
         if (!isset($_POST[$meta[0]])) {
             continue;
         }
         $value = empty($this->meta[$meta[0]][0]) ? '' : $this->meta[$meta[0]][0];
         $sanitizer = new Class_Names_Sanitize();
         $new_value = $sanitizer->clean($_POST[$meta[0]], $meta[1]);
         update_post_meta($post_id, $meta[0], $new_value);
         unset($value);
         unset($sanitizer);
         unset($new_value);
         // $data = $meta[2];
         // $name = $meta[0];
         // $type = $meta[1];
         //
         // if ( 'repeater' === $type ) {
         //
         // 	$new_value = array();
         //
         // 	foreach ( $data as $field ) {
         //
         // 		wp_die( print_r( $field ) );
         //
         //
         //
         // 		foreach ( $_POST[$field[0]] as $fielddata ) {
         //
         // 			if ( empty( $fielddata ) ) { continue; }
         //
         // 			$clean[$field[0]][] = $this->sanitizer( $field[1], $fielddata );
         //
         // 		}
         //
         //
         //
         //
         // 	}
         //
         // 	unset( $clean );
         //
         // } else {
         //
         // 	$value 		= ( empty( $this->meta[$name][0] ) ? '' : $this->meta[$name][0] );
         // 	$sanitizer 	= new Class_Names_Sanitize();
         // 	$new_value 	= $sanitizer->clean( $_POST[$name], $type );
         //
         // }
         //
         // update_post_meta( $post_id, $name, $new_value );
         //
         // unset( $data );
         // unset( $name );
         // unset( $new_value );
         // unset( $sanitizer );
         // unset( $type );
         // unset( $value );
     }
     // foreach
 }