Automattic\WooCommerce\Internal\ShopperLists\Privacy

Privacy::item_export_rowsprivate staticWC 1.0

Build the per-field {name, value} rows for a single saved item.

Method of the class: Privacy{}

No Hooks.

Returns

array<int, array{name: string, value: string}>.

Usage

$result = Privacy::item_export_rows( $item ): array;
$item(ShopperListItem) (required)
Item to export.

Privacy::item_export_rows() code WC 11.0.1

private static function item_export_rows( ShopperListItem $item ): array {
	$product = $item->get_product();
	$title   = ( $item->is_live() && $product instanceof \WC_Product )
		? $product->get_title()
		: $item->get_product_title_at_save();

	$rows = array(
		array(
			'name'  => __( 'Product ID', 'woocommerce' ),
			'value' => (string) $item->get_product_id(),
		),
		array(
			'name'  => __( 'Product', 'woocommerce' ),
			'value' => $title,
		),
	);

	if ( $item->get_variation_id() > 0 ) {
		$rows[]     = array(
			'name'  => __( 'Variation ID', 'woocommerce' ),
			'value' => (string) $item->get_variation_id(),
		);
		$attributes = wc_get_formatted_variation( $item->get_variation_attributes(), true );
		if ( '' !== $attributes ) {
			$rows[] = array(
				'name'  => __( 'Variation', 'woocommerce' ),
				'value' => $attributes,
			);
		}
	}

	$rows[] = array(
		'name'  => __( 'Quantity', 'woocommerce' ),
		'value' => (string) $item->get_quantity(),
	);
	$rows[] = array(
		'name'  => __( 'Date Added', 'woocommerce' ),
		'value' => $item->get_date_added_gmt(),
	);

	if ( $item->is_live() && $product instanceof \WC_Product ) {
		$rows[] = array(
			'name'  => __( 'URL', 'woocommerce' ),
			'value' => $product->get_permalink(),
		);
	}

	return $rows;
}