如何檢查在結帳時是否將任何優惠券應用於woocommerce上的產品?檢查是否有任何優惠券代碼應用於woocommerce
所有我看到的ID或slu checks的檢查,或他們的數組,但我想根據是否有優惠券,任何優惠券在結帳時調整一些領域。
在此先感謝。
如何檢查在結帳時是否將任何優惠券應用於woocommerce上的產品?檢查是否有任何優惠券代碼應用於woocommerce
所有我看到的ID或slu checks的檢查,或他們的數組,但我想根據是否有優惠券,任何優惠券在結帳時調整一些領域。
在此先感謝。
如果你想檢查一個特定的優惠券,@ Reigel的答案是解決方案。然而,要檢查是否應用了任何優惠券,以下代碼將完成工作。
if(WC()->cart->get_coupons()) echo "Coupon applied";
您可以使用購物車的has_discount()
功能..這需要優惠券代碼作爲參數。
使用這樣的:
if (WC()->cart->has_discount('test1')) {
// cart has coupon test1 applied
}
通過@Anand的建議,你可以使用WC()->cart->get_coupons()
。如果購物車中有任何優惠券,將返回所有優惠券。
但是,由於我檢查了woocommerce插件源代碼,get_coupons()
正在使用WP_Query
。 如果沒有其他更好的方法,這真的沒什麼大不了的。
這是一個更好的方法。我們可以訪問購物車applied_coupons
的公共變量。它包含應用於購物車的一系列優惠券代碼。我們可以像這樣使用它...
$has_coupons = count(WC()->cart->applied_coupons)>0?true:false;
if($has_coupons) {
// cart has coupons
}
ahaha混淆了那個'ANY'部分...不是我的母語... – Reigel
這工作。我也試過@Reigel,這也工作。感謝你們兩位。 – Torque2