Wie verstecke ich das Gutscheinfeld von WooCommerce für ein bestimmtes Produkt?
P粉138871485
P粉138871485 2023-07-28 11:22:20
0
1
441
<p>Ich versuche, die Gutscheinfelder für bestimmte Produkte im WooCommerce-Warenkorb und auf der Checkout-Seite auszublenden. Nach einer Suche bei Google habe ich einen Code gefunden, der das Coupon-Feld verbirgt, allerdings nur für ein Produkt. </p><p>Wie kann ich mit mehreren Produkten in diesem Code umgehen: </p><p><br /></p> <pre class="brush:php;toolbar:false;">// Gutscheinfeld auf der Checkout-Seite ausblenden Funktion unlock_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' ); // Gutscheinfeld auf der Warenkorbseite ausblenden Funktion unlock_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' );</pre>
P粉138871485
P粉138871485

Antworte allen(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;
}

应该有用

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage