Automattic\WooCommerce\Utilities

MetaDataUtil::normalizepublic staticWC 10.8.0

Normalize an array of raw meta data entries from a REST API request.

Filters out entries without a key and applies default values for missing 'value' and 'id' fields. Each returned entry is guaranteed to have 'key', 'value', and 'id' set.

Method of the class: MetaDataUtil{}

No Hooks.

Returns

Array[]. Normalized meta data entries.

Usage

$result = MetaDataUtil::normalize( $meta_data, $default_id ): array;
$meta_data(array) (required)
Raw meta data array from the request.
$default_id(mixed)
Default value for 'id' when not provided (default '').
Default: ''

Changelog

Since 10.8.0 Introduced.

MetaDataUtil::normalize() code WC 10.9.1

public static function normalize( array $meta_data, $default_id = '' ): array {
	$normalized = array();
	foreach ( $meta_data as $meta ) {
		if ( is_array( $meta ) && isset( $meta['key'] ) ) {
			$normalized[] = array(
				'key'   => $meta['key'],
				'value' => $meta['value'] ?? null,
				'id'    => $meta['id'] ?? $default_id,
			);
		}
	}
	return $normalized;
}