如何針對特定產品隱藏 WooCommerce 的優惠券欄位?
P粉138871485
P粉138871485 2023-07-28 11:22:20
0
1
342

我正在嘗試在WooCommerce購物車和結帳頁面中隱藏某些產品的優惠券欄位。在谷歌上搜尋後,我找到了一些代碼可以隱藏優惠券字段,但只適用於一個產品。

我該如何在這段程式碼中處理多個產品:


// hide coupon field on the checkout page function disable_coupon_field_on_checkout( $enabled ) { if ( is_checkout() ) { $product_id = 240790; $in_cart = false; foreach( WC()->cart->get_cart() as $cart_item ) { $product_in_cart = $cart_item['product_id']; if ( $product_in_cart === $product_id ) $in_cart = true; } if ( $in_cart === true ) { $enabled = false; } } return $enabled; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_checkout' ); // hide coupon field on the cart page function disable_coupon_field_on_cart( $enabled ) { if ( is_cart() ) { $product_id = 240790; $in_cart = false; foreach( WC()->cart->get_cart() as $cart_item ) { $product_in_cart = $cart_item['product_id']; if ( $product_in_cart === $product_id ) $in_cart = true; } if ( $in_cart === true ) { $enabled = false; } } return $enabled; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_cart' );
P粉138871485
P粉138871485

全部回覆 (1)
P粉615829742

下面的程式碼將處理多個產品ID和/或變體ID,用於購物車和結帳頁面,停用這些產品的優惠券欄位。

// hide coupon field on cart and checkout pages add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_for_specific_products' ); function disable_coupon_field_for_specific_products( $enabled ) { if ( ( is_checkout() && !is_wc_endpoint_url() ) || is_cart() ) { // here define your product IDs in the array $product_ids = array(240790, 240792, 240795, 240798); // Loop through cart items foreach( WC()->cart->get_cart() as $item ) { if ( count( array_intersect( [$item['product_id'], $item['variation_id']], $product_ids ) ) > 0 ) { return false; } } } return $enabled; }

應該有用

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!