Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders

OrderLineMetaValidator::has_serialized_meta_value │ private static │ WC 1.0

Checks whether a meta_data payload carries a serialized value under the guarded meta key.

Method of the class: OrderLineMetaValidator{}

No Hooks.

Returns

bool.

Usage

$result = OrderLineMetaValidator::has_serialized_meta_value( $meta_data ): bool;
$meta_data(mixed) (required)
Raw meta_data value from the request.

OrderLineMetaValidator::has_serialized_meta_value() code WC 11.1.2

private static function has_serialized_meta_value( $meta_data ): bool {
	if ( ! is_array( $meta_data ) ) {
		return false;
	}

	foreach ( MetaDataUtil::normalize( $meta_data ) as $meta ) {
		// update_meta_data() resolves the setter from ltrim( $key, '_' ), so `_taxes` diverts too.
		if ( ! is_string( $meta['key'] ) || self::GUARDED_META_KEY !== ltrim( $meta['key'], '_' ) ) {
			continue;
		}

		// Keep scanning: the payload can repeat the key, and every entry reaches the setter.
		if ( is_serialized( $meta['value'] ) ) {
			return true;
		}
	}

	return false;
}