Bagaimana untuk menyembunyikan medan kupon WooCommerce untuk produk tertentu?
P粉138871485
P粉138871485 2023-07-28 11:22:20
0
1
432
<p>Saya cuba menyembunyikan medan kupon untuk produk tertentu dalam troli WooCommerce dan halaman daftar keluar. Selepas mencari di Google, saya menemui beberapa kod yang menyembunyikan medan kupon, tetapi hanya untuk satu produk. </p><p>Bagaimana saya boleh mengendalikan berbilang produk dalam kod ini: </p><p><br /></p> <pre class="brush:php;toolbar:false;">// sembunyikan medan kupon pada halaman pembayaran fungsi disable_coupon_field_on_checkout( $enabled ) { jika ( is_checkout() ) { $product_id = 240790; $in_cart = palsu; foreach( WC()->cart->get_cart() sebagai $cart_item ) { $product_in_cart = $cart_item['product_id']; if ($product_in_cart === $product_id ) $in_cart = benar; } jika ( $in_cart === benar ) { $enabled = palsu; } } pulangkan $enabled; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_checkout' ); // sembunyikan medan kupon pada halaman troli fungsi disable_coupon_field_on_cart( $enabled ) { jika ( is_cart() ) { $product_id = 240790; $in_cart = palsu; foreach( WC()->cart->get_cart() sebagai $cart_item ) { $product_in_cart = $cart_item['product_id']; if ($product_in_cart === $product_id ) $in_cart = benar; } jika ( $in_cart === benar ) { $enabled = palsu; } } pulangkan $enabled; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_cart' );</pre>
P粉138871485
P粉138871485

membalas semua(1)
P粉615829742

Kod di bawah akan mengendalikan berbilang ID produk dan/atau ID varian untuk kedua-dua troli beli-belah dan halaman daftar keluar, melumpuhkan medan kupon untuk produk ini.

// 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;
}

Sepatutnya berguna

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan