sanitizationMode = $params['sanitizationMode']; } } public function validate($errors, $value, $stopOnFirstError = false) { $convertedValue = parent::validate($errors, $value); if ( is_wp_error($convertedValue) || ($convertedValue === null) ) { return $convertedValue; } if ( current_user_can('unfiltered_html') ) { return $convertedValue; } else { switch ($this->sanitizationMode) { case self::SANITIZE_POST_HTML: return wp_kses_post($convertedValue); case self::SANITIZE_STRIP_HTML: return wp_kses($convertedValue, 'strip'); case self::SANITIZE_ESCAPE_HTML: return esc_html($convertedValue); default: return new WP_Error( 'invalid_filter_mode', 'Invalid filter mode set for this setting' ); } } } }