Comment masquer le champ de coupon de WooCommerce pour un produit spécifique ?
P粉138871485
P粉138871485 2023-07-28 11:22:20
0
1
347

J'essaie de masquer les champs de coupon pour certains produits dans le panier WooCommerce et la page de paiement. Après une recherche sur Google, j'ai trouvé un code qui masque le champ du coupon, mais uniquement pour un produit.

Comment puis-je gérer plusieurs produits dans ce code :


// masquer le champ du coupon sur la page de paiement fonction Disable_coupon_field_on_checkout( $enabled ) { si ( is_checkout() ) { $product_id = 240790 ; $in_cart = faux ; foreach( WC()->cart->get_cart() as $cart_item ) { $product_in_cart = $cart_item['product_id']; si ( $product_in_cart === $product_id ) $in_cart = true ; } si ( $in_cart === vrai ) { $ activé = faux ; } } renvoyer $ activé ; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_checkout' ); // masquer le champ du coupon sur la page du panier fonction Disable_coupon_field_on_cart( $enabled ) { si ( is_cart() ) { $product_id = 240790 ; $in_cart = faux ; foreach( WC()->cart->get_cart() as $cart_item ) { $product_in_cart = $cart_item['product_id']; si ( $product_in_cart === $product_id ) $in_cart = true ; } si ( $in_cart === vrai ) { $ activé = faux ; } } renvoyer $ activé ; } add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_on_cart' );
P粉138871485
P粉138871485

répondre à tous (1)
P粉615829742

Le code ci-dessous gérera plusieurs ID de produit et/ou ID de variante pour les pages de panier et de paiement, désactivant le champ de coupon pour ces produits.

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

Ça devrait être utile

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!