我正在开发一个小型的废弃购物车恢复插件,我需要从
woocommerce_sessions
表中恢复购物车。
这是购物车中 1 个可变产品的未序列化购物车数据。
array (size=1)
'cart' =>
array (size=9)
'product_id' => int 22
'variation_id' => int 24
'variation' =>
array (size=1)
'attribute_pa_color' => string 'green' (length=5)
'quantity' => int 1
'line_total' => float 20
'line_tax' => int 0
'line_subtotal' => int 20
'line_subtotal_tax' => int 0
'line_tax_data' =>
array (size=2)
'total' =>
array (size=0)
empty
'subtotal' =>
array (size=0)
empty
我正在尝试使用这些数据恢复整个购物车。我知道可以循环遍历这个数组并通过
将商品添加到购物车WC_Cart::add_to_cart( $product_id, $quantity, $variation_id, $variation );
但是有没有更优雅的方法来做到这一点,因为数据存储在
woocommerce_sessions
表中并且完全兼容 WooCommerce?
我没有找到任何其他与此相关的解决方案,因此只需先清除购物车,然后使用购物车数据进行循环,并以编程方式将商品添加到购物车。这是代码的样子。
if ( $cart_data ) {
WC()->cart->empty_cart();
foreach ( $cart_data as $product ) {
// Validate Product data
$product_id = isset( $product['product_id'] ) ? (int) $product['product_id'] : 0;
$quantity = isset( $product['quantity'] ) ? (int) $product['quantity'] : 1;
$variation_id = isset( $product['variation_id'] ) ? (int) $product['variation_id'] : 0;
$variation = isset( $product['variation'] ) ? $product['variation'] : array();
WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation );
}
WC()->cart->calculate_totals();
}
我如何从 woocommerce 获取有关废弃购物车列表的数据到我的应用程序,例如获取我使用的订单(wp-json/wc/v3/orders)的 api 端点是什么,那么废弃购物车的内容是什么