Supprimer les champs inutiles de facturation pour un produit virtuel Woocommerce

Vous vendez des produits virtuels sur votre site Woocommerce ?

Il est possible de supprimer les champs de la page commande qui ne sont pas utiles. Comme l’adresse de livraison et toutes les informations liées.

Pour cela, ajouter le code ci-dessous dans votre fichier “function.php” de votre thème enfant?

add_filter( 'woocommerce_checkout_fields' , 'bbloomer_simplify_checkout_virtual' );
 
function bbloomer_simplify_checkout_virtual( $fields ) {
    
   $only_virtual = true;
    
   foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
      // Check if there are non-virtual products
      if ( ! $cart_item['data']->is_virtual() ) $only_virtual = false;   
   }
     
    if( $only_virtual ) {
       unset($fields['billing']['billing_company']);
       unset($fields['billing']['billing_address_1']);
       unset($fields['billing']['billing_address_2']);
       unset($fields['billing']['billing_city']);
       unset($fields['billing']['billing_postcode']);
       unset($fields['billing']['billing_country']);
       unset($fields['billing']['billing_state']);
       unset($fields['billing']['billing_phone']);
       add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
     }
     
     return $fields;
}

Testé sur WordPress 5.5 et Woocommerce 4.8

Besoin d’aide pour intégrer ce code ?
Contactez-moi et je me ferais un plaisir de vous aider.

6 réponses

  1. Bonjour,
    Comment gérer 2 formulaires :
    1 —>produits virtuels, nb de champs allégés
    2—>produits physiques, tous les champs d’adresse pour livraison ?
    j’ai testé plusieurs plugin sans trouver de bonne réponse.
    Une piste ?
    Merci d’avance, cordialement.

    1. Bonjour, le code proposé sur cet article ne permet que d’enlever les champs sur l’ensemble des produits.
      Pour gérer 2 types de produits, il faut retravailler le code , cela peut être fait, mais sur devis.
      Si vous souhaitez obtenir un tarif, vous pouvez m’envoyer un email avec vos besoins à mon adresse : contact@jrwebconcept.fr
      Cordialement

      Jean Rémi

  2. Bonjour,

    J’ai une “erreur fatale”, puis-je vous adresser tous les éléments (txt de l’erreur et fichier fonction.php ?) afin de voir si possible de déterminer d’où vient cette terrible erreur qui semble ne perturber QUE la page de personnalisation du thème (génératePress) ???
    Cordialement,
    F

    nb site en préproduction

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Suivez-moi

Les derniers articles

Votre demande a bien été envoyé, merci.

Le délai de réponse peut varier de 24h à 48h.
Merci de votre compréhension

Besoin d'aide pour mon projet

Sujet :
Supprimer les champs inutiles de facturation pour un produit virtuel Woocommerce