Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders
OrderLineMetaValidator::validate_request_arg
Validates an order line request argument (line_items, shipping_lines or fee_lines).
Method of the class: OrderLineMetaValidator{}
No Hooks.
Returns
true|WP_Error. Error when a line posts a serialized value under the guarded key.
Usage
$result = OrderLineMetaValidator::validate_request_arg( $value, $request, $param );
- $value(mixed) (required)
- Value of the argument.
- $request(required)
- .
- $param(string) (required)
- Name of the argument.
Changelog
| Since 11.1.0 | Introduced. |
OrderLineMetaValidator::validate_request_arg() OrderLineMetaValidator::validate request arg code WC 11.1.2
public static function validate_request_arg( $value, $request, $param ) {
$valid = rest_validate_request_arg( $value, $request, $param );
if ( is_wp_error( $valid ) ) {
return $valid;
}
if ( ! is_array( $value ) ) {
return true;
}
foreach ( $value as $line ) {
if ( is_array( $line ) && self::has_serialized_meta_value( $line['meta_data'] ?? null ) ) {
return new WP_Error(
'woocommerce_rest_invalid_order_item_meta_key',
self::get_serialized_meta_value_error_message(),
array( 'status' => 400 )
);
}
}
return true;
}