Comment simplifier le paiement des articles gratuits Thème Storefront
Publié: 2020-11-03Dans la plupart des magasins WooCommerce, les clients achètent des produits et versent le paiement après avoir procédé à la caisse. De plus, ils sélectionneront également une méthode d'expédition ou saisiront un code de coupon pour bénéficier d'une réduction.
Cependant, si vous offrez un article gratuit dans votre magasin, vous n'aurez peut-être pas besoin de tous les champs à la caisse. Cela signifie que vous ne collecterez aucun paiement d'expédition. Par conséquent, vous n'aurez peut-être pas besoin des détails de facturation, juste du nom et probablement d'un e-mail.
Storefront Simplifiez le paiement des articles gratuits
Il convient de mentionner que WooCommerce supprimera utilement la sélection du mode de paiement pour les paiements gratuits. Cependant, les champs de facturation sont toujours présents et obligatoires pour passer une commande :
Si vous vendez des produits virtuels gratuits, tels que l'adhésion gratuite, il serait préférable de simplifier le processus de paiement.
Si vous rencontrez ce problème, il est facile de vérifier si le paiement n'a pas de frais avec la vérification WC()->cart->needs_payment(). Je vais illustrer comment l'utiliser pour prendre quelques mesures pour simplifier le paiement gratuit de WooCommerce si aucun paiement n'est nécessaire. Nous devons supprimer certains champs de facturation sous condition.
Permettez-moi de vous guider à travers quelques étapes que vous pouvez suivre pour simplifier le paiement gratuit et le rassembler dans un extrait utilisable.
Étapes pour simplifier le paiement des articles gratuits
- Supprimer les formulaires de coupon
Vous n'avez pas besoin d'un formulaire de coupon si vous souhaitez bénéficier d'un paiement gratuit, car il n'y a rien à réduire. J'utiliserai ! WC()->cart->needs_payment() sous forme de chèque, qui supposera que le total de la commande est de 0 $, il n'y a donc pas de frais d'expédition ou de paiement de commande nécessaires. Pour supprimer en toute sécurité l'entrée du coupon, nous devons utiliser le code suivant :
// supprimer les formulaires de coupon si vous ne voulez pas de coupon pour un panier gratuit remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
- Désactiver les notes de commande
Vous voudrez peut-être rassembler des notes de commande pour une commande gratuite. Cependant, la principale chose que nous essayons de faire est de simplifier le processus de paiement pour les clients de votre boutique WooCommerce. Je supprimerai toute la section « Informations supplémentaires » de la caisse. Cela peut être fait en utilisant le filtre woocommerce_enable_order_notes_field, car nous pouvons le définir sur false, donc il n'y a pas de notes de commande.
// Supprimer les notes de commande "Informations supplémentaires" add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
- Annuler les champs inutiles
Comme il s'agit d'une commande gratuite, nous n'avons pas besoin de débiter une carte de crédit. La plupart des champs de facturation de la caisse ne sont pas nécessaires. Cela signifie que je dois désactiver le champ d'achat dont je n'ai pas besoin. Vous pouvez trouver une liste des champs de paiement dans la documentation WooCommerce.
// Annulez les champs que nous ne voulons pas dans un paiement gratuit function unset_unwanted_checkout_fields( $fields ) { // liste des clés du champ de facturation à supprimer $billing_keys = tableau( 'entreprise_facturation', 'téléphone_facturation', 'Adresse de facturation 1', 'adresse_facturation_2', 'billing_city', 'billing_postcode', 'pays de facturation', 'état_facturation', ); // supprime chacun de ces champs indésirables foreach( $billing_keys as $key ) { unset( $fields['billing'][$key] ); } renvoie $champs ; } add_filter( 'woocommerce_checkout_fields', 'unset_unwanted_checkout_fields' );
Cependant, vous pouvez choisir les champs que vous souhaitez supprimer du formulaire de paiement.
- Ajouter le code
Voici les étapes pour ajouter le code dans le fichier functions.php du thème Storefront :
- Connectez-vous à votre site WordPress et accédez au tableau de bord en tant qu'utilisateur administrateur.
- Dans le menu Dashboard, cliquez sur Appearance Menu > Theme Editor Menu . Lorsque la page de l'éditeur de thème est ouverte, recherchez le fichier de fonctions de thème pour simplifier le paiement de l'article gratuit.
- Ajoutez le code suivant aux fonctions. php
/** * Supprime le formulaire de coupon, les notes de commande et plusieurs champs de facturation si le paiement ne nécessite pas de paiement. * * NÉCESSITE PHP 5.3+ * */ fonction sv_free_checkout_fields() { // d'abord, bail si WC n'est pas actif puisque nous sommes accrochés à un hook WP général si ( ! function_exists( 'WC' ) ) { retourner; } // caution si le panier a besoin d'être payé, nous ne voulons rien faire if ( WC()->cart && WC()->cart->needs_payment() ) { retourner; } // maintenant continuer uniquement si nous sommes à la caisse // is_checkout() a été cassé à partir de WC 3.2 dans le contexte ajax, revérifiez is_ajax // Je vérifierais WOOCOMMERCE_CHECKOUT mais les tests montrent qu'il n'est pas défini de manière fiable if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() ) ) { // supprimer les formulaires de coupon car pourquoi voudriez-vous un coupon pour un panier gratuit ? ? remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 ); // Supprimer les notes de commande "Informations supplémentaires" add_filter( 'woocommerce_enable_order_notes_field', '__return_false' ); // Annulez les champs que nous ne voulons pas dans un paiement gratuit add_filter( 'woocommerce_checkout_fields', function( $fields ) { // ajoutez ou supprimez les champs de facturation que vous ne voulez pas // champs : http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2 $billing_keys = tableau( 'entreprise_facturation', 'téléphone_facturation', 'Adresse de facturation 1', 'adresse_facturation_2', 'billing_city', 'billing_postcode', 'pays de facturation', 'état_facturation', ); // supprime chacun de ces champs indésirables foreach( $billing_keys as $key ) { unset( $fields['billing'][ $key ] ); } renvoie $champs ; } ); } } add_action( 'wp', 'sv_free_checkout_fields' );
- Lorsque vous ajoutez l'intégralité du code, le paiement WooCommerce sera simplifié :
Conclusion
En résumé, je vous ai guidé à travers les étapes de simplification du processus de paiement. J'ai expliqué les étapes en détail afin que vous puissiez comprendre le code. Cependant, vous devez noter que cet article présente des modifications de code ou des extraits que vous pouvez apporter dans votre fichier function.php de thèmes actifs. Si vous n'êtes pas familier avec cette tâche, veuillez engager un développeur WordPress.
Articles similaires
- Comment changer le slogan du thème de vitrine WooCommerce
- Comment ajouter un champ supplémentaire dans le formulaire de paiement WooCommerce
- Comment ajouter une clause de non-responsabilité à la vitrine WooCommerce
- Comment définir la pleine largeur de la page produit du thème WooCommerce Storefront
- Comment réparer une erreur de type non interceptée : wp.template n'est pas une fonction
- Comment créer une pagination numérique dans WordPress sans utiliser de plugin
- Comment déplacer le menu principal Storefront WooCommerce
- Comment supprimer le thème WooCommerce Storefront de la page de panier
- Comment approuver automatiquement les commandes dans WooCommerce
- Comment changer la couleur du lien dans le thème WooCommerce Storefront
- Comment ajouter une image de héros WooCommerce Storefront
- Comment rediriger lors de l'actualisation de la page WordPress » Détecter l'actualisation de la page PHP
- Modifier le texte Procéder au paiement dans WooCommerce
- Extrait PHP de déconnexion de WooCommerce pour créer un bouton de déconnexion
- Comment ajuster la hauteur de l'en-tête de la vitrine WooCommerce
- Comment ajouter une image de produit à la page de paiement WooCommerce
- Comment configurer les widgets de pied de page WooCommerce Storefront
- Comment compter les articles ajoutés au panier WooCommerce Cart Count Code