woocommerce - 检查产品类别点击添加到购物车按钮,并根据结果执行条件
问题描述
如果添加到购物车的产品具有特定类别,我需要指示 WooCommerce 不要调用某些特定函数。在 WooCommerce答案代码中添加到购物车之前,
我使用的是空购物车。
例如,我有以下类别的产品:化妆品。而且我有一个没有任何类别的产品。如果用户将没有类别的产品添加到购物车,则代码可以正常工作。
但是如果用户将产品添加到购物车,并且该产品有一个类别:化妆品。我不需要以前的代码来工作。我知道在添加阶段,我需要做一些检查。我认为这个答案的功能会对我有所帮助。
如果用户未登录 Woocommerce 答案代码(第一个挂钩函数),则基于避免添加到特定产品类别的购物车,这是我尝试过的:
add_filter( 'woocommerce_add_to_cart_validation', 'avoid_add_to_cart_conditionally', 20, 3 );
function avoid_add_to_cart_conditionally( $passed, $product_id, $quantity) {
// HERE your product categories (can be IDs, slugs or names terms)
$terms = array( 'cosmetics');
if( !has_terms( $terms, 'product_cat', $product_id )){
// Here I put the function that I showed for an example earlier.
$passed = false;
}
return $passed;
}
但它没有用。我尝试了几种选择,但仍然没有成功。请帮助我理解这个问题。
解决方案
推荐阅读
- oracle - MS Access:在设计指南视图中创建链接表不显示要链接到的表?
- angular - 如何从对象中获取键值?
- php - 访问器函数中的调用关系
- r - 使用 for 循环从 R 矩阵中提取索引以形成新矩阵
- android - Audience Network 无法使用 Admob 中介
- pygame - PyGame 安装 Mac
- curl - Why can't get redirect url with curl for the specified url?
- ios - 如何将角半径应用于 CAShapeLayer 的特定角,而不是 UIView
- html - 为什么锚点在改变 iframe 高度时会有不同的行为?
- chat - 打破 WhatsApp 聊天