【发布时间】:2014-05-29 14:18:50
【问题描述】:
我正在尝试通过代码从购物车中删除特定产品。我只看到清除购物车中所有产品的空购物车选项,但我想清除购物车页面中的特定产品。 例如: 假设我已将两种产品添加到购物车,但我希望购物车行为既不或也不意味着只有一种产品应该在购物车中。 如果产品 1 在购物车中,则产品 2 不应允许添加到购物车中。如果产品 2 在购物车中,则产品 1 不应允许。
我尝试了少量代码,但找不到执行此实际行为的确切钩子。我正在尝试的不是清空整个购物车,而是加载购物车内容,该内容位于值数组中,只是使用购物车项目键取消设置特定数组,并将剩余内容加载到购物车。但看起来对我不起作用。
function cf_alter_cart_content($value) {
global $woocommerce;
$cart_contents = $woocommerce->cart->get_cart();
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $value) {
if ($value['product_id'] == '77') {
unset($cart_contents[$cart_item_key]);
unset($value['data']);
}
return $value['data'];
}
}
//add_action('wp_head', 'cf_alter_cart_content');
add_filter('woocommerce_cart_item_product', 'cf_alter_cart_content', 10, 1);
可能有什么简单的方法可以实现这一点吗?不确定有什么建议会很棒。
【问题讨论】:
标签: php woocommerce wordpress