The data is in a serialized protected format
You could try to use json_decode()
, unserialize()
or maybe_unserialize()
functions,
But you will not get any data as it's a WC_Session_Handler
stored PROTECTED object.
You will need to use instead WC_Session_Handler
or WC_Session
available methods.
1) To get the current customer WC_Session_Handler
object you can use:
// Get the current WC_Session_Handler obect
$session_obj = WC()->session;
print_r($session_obj); // Raw output
2) To get the WC_Session_Handler
object from a defined customer ID
// The defined customer ID
$customer_id = 5;
// Get an Instance of the WC_Session_Handler object
$new_session_obj = new WC_Session_Handler();
// The defined customer ID
$session_obj = $new_session_obj->get_session( $customer_id );
3) Accessing the protected data:
## --- Get the data in an array (values are still serialized) --- ##
$session_data_array = WC()->session->get_session_data();
print_r($session_data_array); // Raw output
## -------------- Get the cleaned unserialized data ------------- ##
$session_cart = WC()->session->get('cart');
$session_cart_totals = WC()->session->get('cart_totals');
$session_applied_coupons = WC()->session->get('applied_coupons');
$session_coupon_discount_totals = WC()->session->get('coupon_discount_totals');
$session_coupon_discount_tax_totals = WC()->session->get('coupon_discount_tax_totals');
$session_removed_cart_contents = WC()->session->get('removed_cart_contents');
$session_shipping_for_package_0 = WC()->session->get('shipping_for_package_0');
$session_previous_shipping_methods = WC()->session->get('previous_shipping_methods');
$session_chosen_shipping_methods = WC()->session->get('chosen_shipping_methods');
$session_shipping_method_counts = WC()->session->get('shipping_method_counts');
$session_customer = WC()->session->get('customer');
// Raw "Cart" output example
print_r(WC()->session->get('cart'));