public function validate($value)
{
if (is_wp_error($value)) {
return $value;
}
if (is_null($value)) {
return new WP_Error('invalid_value', __('Invalid value.'));
}
$validity = new WP_Error();
/**
* Validates a Customize setting value.
*
* Plugins should amend the `$validity` object via its `WP_Error::add()` method.
*
* The dynamic portion of the hook name, `$this->ID`, refers to the setting ID.
*
* @since 4.6.0
*
* @param WP_Error $validity Filtered from `true` to `WP_Error` when invalid.
* @param mixed $value Value of the setting.
* @param WP_Customize_Setting $this WP_Customize_Setting instance.
*/
$validity = apply_filters("customize_validate_{$this->id}", $validity, $value, $this);
if (is_wp_error($validity) && empty($validity->errors)) {
$validity = true;
}
return $validity;
}