php - 是否有挂钩或插件可以从 woocommerce 优惠券中排除某些产品标签?
问题描述
我需要从 woocommerce 优惠券中排除产品标签。
我曾尝试在 Google 上搜索适用的插件,但结果为空。
理想情况下,解决方案将是一个插件,可以将自定义字段添加到优惠券帖子类型。但是,我将通过钩子/过滤器进行硬编码。
解决方案
您可以使用一个过滤器来完成此woocommerce_coupon_is_valid_for_product。
它接受 4 个参数,有效、产品、优惠券和价值。它是从第 3 版左右的第 860 行的class-wc-coupon.php调用的。它应该返回一个布尔值(true/false)。
请注意,以下代码不完整且未经测试,仅用于示例目的。
add_filter('woocommerce_coupon_is_valid_for_product', 'exclude_product_from_coupon_by_tag', 12, 4);
function exclude_product_from_coupon_by_tag($valid, $product, $coupon, $values ){
//Check if product has tag/s
$valid = has_term('INSERT_TERM_HERE', 'product_tag', $product);
return $valid;
}
希望有帮助!
推荐阅读
- html - 为什么 Html Fieldset Legend 在 safari 浏览器或在 iphone 中运行的 Ionic 应用程序中无法正确显示?
- java - Keystore.setKeyEntry() 中的 Certificate[] 链是什么意思以及如何从 JKS 或 PKCS12 获取该信息?
- excel - Vlookup - 如何处理 #n/a 错误 - office 365
- php - 如何在与 wordpress 插件中的动作挂钩相关的函数之间传递我自己的变量
- javascript - 如何在反应表上实现延迟加载数据?
- amazon-web-services - 我可以使用 CloudFront 为多个域提供服务吗?
- netflix-eureka - Netflix Eureka 和 Spring Boot Admin 在一个应用程序中,不显示客户端
- ionic-framework - 无法使用离子幻灯片的选项属性
- keyboard-shortcuts - PlatformIO 的 Atom 覆盖键绑定
- jxbrowser - com.teamdev.jxbrowser.internal.ChromiumExtractorException:无法将 Chromium 二进制文件提取到 x 文件夹中