我正在建立一个销售植物的批发业务的网站。他们想在购物车页面上为客户提供一个选项,以向工厂添加标签。因此,我想为购物车中的每个产品添加一个自定义输入字段,客户可以在其中输入所需的工厂数量。单击更新购物车按钮时,我希望将标签数量添加到购物车项目数据中。
我发现我可以这样使用woocommerce_add_cart_item_data
钩子:
add_filter( 'woocommerce_add_cart_item_data', 'add_labels', 10, 3 );
function add_labels( $cart_item_data, $product_id, $variation_id ) {
$cart_item_data['amount_of_labels'] = 200;
return $cart_item_data;
}
当将产品添加到购物车时,产品购物车项目数据中的键“ amount_of_labels”的值存储为200。此值可在购物车和结帐页面上检索,并且可以存储在订单商品元数据中。
我的问题是:
在购物车页面本身上是否可以使用相同的挂钩/操作来更新购物车数据?
我看到有woocommerce_after_cart_item_quantity_update
钩子。但是对于我的情况,它不能正常工作。有了这个钩子,我无法更新我的自定义购物车项目数据(添加更新或删除)。
示例屏幕截图:
在这里您可以看到我要构建的内容。屏幕快照中的输入带有标签的数量,更新购物车时应将其添加到购物车项目数据中。