extract_order_safe_data()WC 9.9.0

Extract safe data from order object for debug temporary logging.

Хуков нет.

Возвращает

null. Ничего (null).

Использование

extract_order_safe_data( $order );
$order(WC_Order) (обязательный)
Order object.

Список изменений

С версии 9.9.0 Введена.

Код extract_order_safe_data() WC 9.9.5

function extract_order_safe_data( WC_Order $order ) {
	$order_data = array(
		'order_id'       => $order->get_id(),
		'payment_method' => $order->get_payment_method_title(),
		'billing'        => array(
			'country' => $order->get_billing_country(),
			'state'   => $order->get_billing_state(),
		),
		'shipping'       => array(
			'country' => $order->get_shipping_country(),
			'state'   => $order->get_shipping_state(),
		),
		'used_coupons'   => $order->get_coupon_codes(),
		'totals'         => array(
			'subtotal' => $order->get_subtotal(),
			'shipping' => $order->get_shipping_total(),
			'tax'      => $order->get_total_tax(),
			'discount' => $order->get_discount_total(),
			'total'    => $order->get_total(),
		),

	);

	// Add tax breakdown.
	foreach ( $order->get_tax_totals() as $tax ) {
		$order_data['totals']['tax_breakdown'][ $tax->label ] = $tax->amount;
	}

	// Add cart items and quantities.
	foreach ( $order->get_items() as $item_id => $item ) {
		$order_data['cart_items'][] = array(
			'id'           => $item_id,
			'product_id'   => $item->get_product_id(),
			'variation_id' => $item->get_variation_id(),
			'quantity'     => $item->get_quantity(),
		);
	}

	// Add Shipping methods used.
	foreach ( $order->get_shipping_methods() as $method ) {
		$order_data['shipping_methods'][] = array(
			'id'    => $method->get_method_id(),
			'label' => $method->get_method_title(),
		);
	}

	return $order_data;
}