cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menyembunyikan medan kupon WooCommerce untuk produk tertentu?

<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粉138871485P粉138871485513 hari yang lalu434

membalas semua(1)saya akan balas

  • P粉615829742

    P粉6158297422023-07-29 09:29:27

    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

    balas
    0
  • Batalbalas