当我按下更新购物车时,我的功能会运行,而不是在修改后将所有项目打印到ITEMS.json中。有我的所有项目和鞋子的数量修改,但在我的文件中还有数量= 3的连帽衫。我怎么可能删除它?它和我在更新购物车后打印物品。
add_action('woocommerce_after_cart_item_quantity_update','my_function');
function my_function()
{
global $woocommerce;
$items = $woocommerce->cart->get_cart();
file_put_contents('ITEMS.json', print_r($items, true));
}
有没有什么可以区分产品删除和产品修改?
是否有一个钩子可以返回已删除产品的列表?
答案 0 :(得分:0)
根据文档,您可以从钩子函数的参数中检索所有需要的信息:
function my_function( $cart_item_key, $quantity, $old_quantity ) {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
// Check that quantity is not equal to 0 and that the item exists in the cart
if($quantity && isset($items[$cart_item_key])) {
$content = '';
// TODO: Here you must fill $content with needed information from $items[$cart_item_key]
// Below, I add the new quatity to the $content string.
$content .= $quantity;
// Write in JSON file
file_put_contents('ITEMS.json', $content);
}
};
add_action( 'woocommerce_after_cart_item_quantity_update', 'my_function', 10, 3 );