Automattic\WooCommerce\Internal\CLI\Migrator\Platforms\Shopify

ShopifyMapper::map_metafieldsprivateWC 1.0

Maps metafields and SEO data from Shopify product.

Method of the class: ShopifyMapper{}

No Hooks.

Returns

Array. Metafields data.

Usage

// private - for code of main (parent) class only
$result = $this->map_metafields( $shopify_product ): array;
$shopify_product(object) (required)
The Shopify product data.

ShopifyMapper::map_metafields() code WC 10.8.1

private function map_metafields( object $shopify_product ): array {
	$metafields_data = array();

	if ( property_exists( $shopify_product, 'metafields' ) && ! empty( $shopify_product->metafields->edges ) ) {
		foreach ( $shopify_product->metafields->edges as $edge ) {
			$field_node              = $edge->node;
			$key                     = sprintf( '%s_%s', $field_node->namespace, $field_node->key );
			$metafields_data[ $key ] = $field_node->value;
		}
	}

	// Enhanced SEO mapping.
	$seo_data        = $this->map_seo_fields( $shopify_product );
	$metafields_data = array_merge( $metafields_data, $seo_data );

	return $metafields_data;
}