woocommerce 读取废弃的购物车详细信息
woocommerce read abandoned cart details
我正在尝试从 table wp_options
中读取 woocommerce
中废弃的购物车详细信息。字符串格式如下
a:19:{s:4:"cart";s:308:"a:1:{s:32:"d3d9446802a44259755d38e6d163e820";a:9:{s:10:"product_id";i:10;s:12:"variation_id";s:0:"";s:9:"variation";a:0:{}s:8:"quantity";i:1;s:10:"line_total";d:189;s:8:"line_tax";i:0;s:13:"line_subtotal";i:189;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:27:"coupon_discount_tax_amounts";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:19:"cart_contents_total";d:189;s:20:"cart_contents_weight";i:2;s:19:"cart_contents_count";i:1;s:5:"total";i:0;s:8:"subtotal";i:189;s:15:"subtotal_ex_tax";i:189;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";}
如何拆分此值以读取购物车和产品详细信息。
您的字符串已序列化。你必须反序列化它。您可以使用在线工具。
或者,您可以运行一个PHP代码;
<?php
$serialized = 'a:19:{s:4:"cart";s:308:"a:1:{s:32:"d3d9446802a44259755d38e6d163e820";a:9:{s:10:"product_id";i:10;s:12:"variation_id";s:0:"";s:9:"variation";a:0:{}s:8:"quantity";i:1;s:10:"line_total";d:189;s:8:"line_tax";i:0;s:13:"line_subtotal";i:189;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:27:"coupon_discount_tax_amounts";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:19:"cart_contents_total";d:189;s:20:"cart_contents_weight";i:2;s:19:"cart_contents_count";i:1;s:5:"total";i:0;s:8:"subtotal";i:189;s:15:"subtotal_ex_tax";i:189;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";}';
$unserialized = unserialize( $serialized );
var_dump( $unserialized );
?>
您显示的字符串已序列化。 Serializing 是一种将 PHP 值(在本例中为数组)及其类型和结构存储为字符串的方法。
您可以使用 PHP 的 unserialize
函数将字符串转换回 PHP 值:
$value = unserialize($value);
这将 return 一个包含 cart
键的数组,由于某种原因它也被序列化了,所以你将不得不再次使用 unserialize
:
$cart = unserialize($value['cart']);
现在您将能够访问购物车数据。
echo $cart['d3d9446802a44259755d38e6d163e820']['product_id']; // 10
我正在尝试从 table wp_options
中读取 woocommerce
中废弃的购物车详细信息。字符串格式如下
a:19:{s:4:"cart";s:308:"a:1:{s:32:"d3d9446802a44259755d38e6d163e820";a:9:{s:10:"product_id";i:10;s:12:"variation_id";s:0:"";s:9:"variation";a:0:{}s:8:"quantity";i:1;s:10:"line_total";d:189;s:8:"line_tax";i:0;s:13:"line_subtotal";i:189;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:27:"coupon_discount_tax_amounts";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:19:"cart_contents_total";d:189;s:20:"cart_contents_weight";i:2;s:19:"cart_contents_count";i:1;s:5:"total";i:0;s:8:"subtotal";i:189;s:15:"subtotal_ex_tax";i:189;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";}
如何拆分此值以读取购物车和产品详细信息。
您的字符串已序列化。你必须反序列化它。您可以使用在线工具。
或者,您可以运行一个PHP代码;
<?php
$serialized = 'a:19:{s:4:"cart";s:308:"a:1:{s:32:"d3d9446802a44259755d38e6d163e820";a:9:{s:10:"product_id";i:10;s:12:"variation_id";s:0:"";s:9:"variation";a:0:{}s:8:"quantity";i:1;s:10:"line_total";d:189;s:8:"line_tax";i:0;s:13:"line_subtotal";i:189;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:27:"coupon_discount_tax_amounts";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:19:"cart_contents_total";d:189;s:20:"cart_contents_weight";i:2;s:19:"cart_contents_count";i:1;s:5:"total";i:0;s:8:"subtotal";i:189;s:15:"subtotal_ex_tax";i:189;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";}';
$unserialized = unserialize( $serialized );
var_dump( $unserialized );
?>
您显示的字符串已序列化。 Serializing 是一种将 PHP 值(在本例中为数组)及其类型和结构存储为字符串的方法。
您可以使用 PHP 的 unserialize
函数将字符串转换回 PHP 值:
$value = unserialize($value);
这将 return 一个包含 cart
键的数组,由于某种原因它也被序列化了,所以你将不得不再次使用 unserialize
:
$cart = unserialize($value['cart']);
现在您将能够访问购物车数据。
echo $cart['d3d9446802a44259755d38e6d163e820']['product_id']; // 10