从购物车

时间:2018-03-14 10:43:00

标签: php woocommerce hook

嗨伙计们。 我的购物车中有三件商品。让我们试着想象图像是购物车,我修改了产品数量,然后按更新购物车。

enter image description here

当我按下更新购物车时,我的功能会运行,而不是在修改后将所有项目打印到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));
}

有没有什么可以区分产品删除和产品修改?

是否有一个钩子可以返回已删除产品的列表?

1 个答案:

答案 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 );