/**
* Gets customer cart by user ID in WooCommerce.
*
* @see https://wpcodebook.com/woocommerce-get-cart-by-user-id/
* @see https://woocommerce.github.io/code-reference/classes/WC-Session-Handler.html
*
* @return false|array Customer cart items array if found, boolean false if not.
*/
function wpcodebook_wc_get_user_cart( $user_id ) {
$session_handler = new WC_Session_Handler();
$session = $session_handler->get_session( $user_id );
if (
! $session ||
empty( $session['cart'] ) ||
! ( $cart = maybe_unserialize( $session['cart'] ) )
) {
return false;
}
return $cart;
}Example output:
Array
(
[27b4c55047c7e1450a5dd83ccf4a6ca0] => Array
(
[key] => 27b4c55047c7e1450a5dd83ccf4a6ca0
[product_id] => 48273
[variation_id] => 0
[variation] => Array
(
)
[quantity] => 2
[data_hash] => b5c1d5ca8bae6d4896cf1807cdf763f0
[line_tax_data] => Array
(
[subtotal] => Array
(
[33] => 3.47107438
)
[total] => Array
(
[33] => 3.47107438
)
)
[line_subtotal] => 16.52892562
[line_subtotal_tax] => 3.47
[line_total] => 16.52892562
[line_tax] => 3.47
)
[979402d0d20fb0f8ded281a8b8687ab9] => Array
(
[key] => 979402d0d20fb0f8ded281a8b8687ab9
[product_id] => 48349
[variation_id] => 0
[variation] => Array
(
)
[quantity] => 1
[data_hash] => b5c1d5ca8bae6d4896cf1807cdf763f0
[line_tax_data] => Array
(
[subtotal] => Array
(
[33] => 10.41322314
)
[total] => Array
(
[33] => 10.41322314
)
)
[line_subtotal] => 49.58677686
[line_subtotal_tax] => 10.41
[line_total] => 49.58677686
[line_tax] => 10.41
)
)