Automattic\WooCommerce\Blocks\Domain\Services
CheckoutFields::sanitize_field
Sanitize an additional field against any custom sanitization rules.
Метод класса: CheckoutFields{}
Хуки из метода
Возвращает
Разное.
Использование
$CheckoutFields = new CheckoutFields(); $CheckoutFields->sanitize_field( $field_key, $field_value );
- $field_key(строка) (обязательный)
- The key of the field.
- $field_value(разное) (обязательный)
- The value of the field.
Список изменений
| С версии 8.7.0 | Введена. |
Код CheckoutFields::sanitize_field() CheckoutFields::sanitize field WC 10.8.1
public function sanitize_field( $field_key, $field_value ) {
try {
$field = $this->additional_fields[ $field_key ] ?? null;
if ( $field ) {
$field_value = call_user_func( $field['sanitize_callback'], $field_value, $field );
}
/**
* Allow custom sanitization of an additional field.
*
* @param mixed $field_value The value of the field being sanitized.
* @param string $field_key Key of the field being sanitized.
*
* @since 8.6.0
* @deprecated 8.7.0 Use woocommerce_sanitize_additional_field instead.
*/
$field_value = apply_filters_deprecated( '__experimental_woocommerce_blocks_sanitize_additional_field', array( $field_value, $field_key ), '8.7.0', 'woocommerce_sanitize_additional_field', 'This action has been graduated, use woocommerce_sanitize_additional_field instead.' );
/**
* Allow custom sanitization of an additional field.
*
* @param mixed $field_value The value of the field being sanitized.
* @param string $field_key Key of the field being sanitized.
*
* @since 8.7.0
*/
return apply_filters( 'woocommerce_sanitize_additional_field', $field_value, $field_key );
} catch ( \Throwable $e ) {
// One of the filters errored so skip it. This allows the checkout process to continue.
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
trigger_error(
sprintf(
'Field sanitization for %s encountered an error. %s',
esc_html( $field_key ),
esc_html( $e->getMessage() )
),
E_USER_WARNING
);
}
return $field_value;
}