Extraits de code WooCommerce dont vous aurez besoin en tant que développeur WordPress

[aioseo_eeat_author_tooltip]
[aioseo_eeat_reviewer_tooltip]
Extraits de code WooCommerce

Si vous créez des boutiques en ligne sur un site WordPress, WooCommerce vous offre une base solide, mais le véritable contrôle réside dans les extraits de code intelligents. De petits fragments de code personnalisé vous permettent de façonner la page boutique, la page de paiement et même certains aspects du comportement des produits, sans avoir recours à des extensions lourdes. Vous pouvez insérer ces extraits dans un fichier PHP, utiliser le fichier functions.php d'un thème enfantou installer une extension d'extraits de code pour un flux de travail visuel et plus sûr. De nombreux développeurs privilégient Code Snippets ou Code Snippets Pro, car ils permettent d'activer, de désactiver et d'exporter des règles sans modifier les fichiers du thème. Votre code source reste ainsi propre et l'importation automatique pour les nouveaux projets est simplifiée.

Les extraits de code facilitent les tâches courantes comme la modification du titre de la page boutique, le masquage du fil d'Arianeou l'ajustement des champs de paiement pour collecter les données appropriées. Vous pouvez ajouter un champ personnalisé à une variante de produit, modifier le texte du bouton « Ajouter au panier » ou définir un montant minimum de commande. Vous pouvez affiner les paramètres WooCommerce, intégrer la compatibilité WooCommerce à un thème et activer le zoom, la lightbox et le diaporama de la galerie de produits WooCommerce en quelques minutes.

Vous pouvez également ajouter une devise personnalisée, renommer un onglet produit en « Plus d'infos » ou masquer les catégories de produits dans un widget. Que vous colliez de simples fonctions ou que vous gériez une bibliothèque de code personnalisé en constante expansion, ces extraits de code pratiques vous offrent une fonctionnalité claire et épurée, et ils fonctionnent parfaitement sur la plupart des configurations après avoir été correctement testés.

Contenu

Comment utiliser ces extraits de code WooCommerce en toute sécurité

Comment utiliser ces extraits de code WooCommerce en toute sécurité
#titre_image

L'ajout de snippets personnalisés à WooCommerce peut complètement transformer le fonctionnement de votre site WordPress. Cependant, une erreur de saisie dans le fichier functions.php ou une faute dans une fonction PHP peuvent rendre l'ensemble du site inutilisable. C'est pourquoi il est essentiel de respecter les bonnes pratiques lors de l'utilisation de code personnalisé.

Utilisez un thème enfant ou un plugin d'extraits de code

  • Placez votre code personnalisé dans le fichier functions.php du thème enfant afin qu'il reste intact après les mises à jour du thème.
  • Si vous ne souhaitez pas modifier directement les fichiers du thème, installez un plugin Code Snippets ou Code Snippets Pro.
  • Ces outils vous permettent de créer, gérer et exporter des extraits de code sans toucher aux fichiers du thème.
  • Les plugins incluent également des options d'importation automatique, ce qui facilite la réutilisation de vos extraits personnalisés sur différents sites web.

Testez avant de passer en production

  • Ne jamais coller de code directement sur un site en production.
  • Testez toujours vos extraits de code dans un environnement de test.
  • Cette étape permet de s'assurer qu'il n'y a pas de conflits avec les paramètres de WooCommerce, les champs de paiement ou d'autres fichiers du thème.

Documentez votre code personnalisé

  • Ajoutez des commentaires clairs au-dessus de chaque fonction expliquant son rôle.
  • Exemple : que cela affecte la page de paiement, la page de la boutique, les catégories de produits WooCommerce ou les champs de paiement du compte.
  • Un étiquetage correct facilite la compréhension ultérieure de votre code source.

Conservez des sauvegardes et un contrôle de version

  • Stockez vos extraits de code en dehors de WordPress avec Git ou un autre outil de contrôle de version.
  • Si vous utilisez un plugin d'extraits de code, profitez de la fonction d'exportation.
  • Disposer d'une sauvegarde vous permet de revenir rapidement à la version précédente si quelque chose ne fonctionne pas correctement après une mise à jour.

Bien utilisés, les snippets deviennent un outil puissant. Ils vous permettent de personnaliser WooCommerce sans alourdir votre site WordPress avec des plugins inutiles, tout en garantissant un site propre et stable.

Besoin d'aide d'experts pour la personnalisation de WooCommerce ?

L'équipe de développement WooCommerce de Seahawk conçoit des fonctionnalités personnalisées, gère les flux de paiement et crée des solutions de code stables et adaptées à votre entreprise.

Éléments essentiels de configuration du thème et de l'expérience utilisateur : extraits de code WooCommerce

Avant de vous plonger dans les extraits de code avancés, il est conseillé de configurer la compatibilité WooCommerce et d'optimiser le thème pour une expérience d'achat plus fluide. De nombreux développeurs négligent ces bases, pourtant elles peuvent considérablement améliorer l'apparence et l'ergonomie de la boutique pour les utilisateurs.

Déclarez la prise en charge de WooCommerce dans votre thème

Par défaut, tous les thèmes WordPress ne prennent pas entièrement en charge WooCommerce. L'ajouter manuellement garantit un affichage correct des galeries de produits et des mises en page. Vous pouvez le faire dans le fichier functions.php du thème enfant ou à l'aide d'une extension de snippets personnalisée.

function mytheme_add_woocommerce_support() { add_theme_support( 'woocommerce' ); add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); } add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );

Ce fragment de code ajoute la prise en charge de WooCommerce ainsi que les fonctionnalités suivantes : zoom, lightboxet diaporama. Ensemble, ces fonctionnalités améliorent la navigation sur la page produit.

Supprimer le fil d'Ariane WooCommerce

Le fil d'Ariane peut être utile pour la navigation, mais il alourdit parfois le design. Si votre thème inclut déjà un fil d'Ariane ou si vous préférez un en-tête plus épuré, vous pouvez supprimer le fil d'Ariane WooCommerce avec cet extrait de code :

add_action( 'init', 'remove_wc_breadcrumbs' ); function remove_wc_breadcrumbs() { remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 ); }

Utilisez cette fonctionnalité avec précaution, car certaines boutiques en ligne s'appuient sur le fil d'Ariane pour leur référencement. Si vous le remplacez par un autre style de navigation, le supprimer peut simplifier le design.

Remplacer le titre de la page Boutique

Le titre par défaut de la page boutique est souvent simplement « Boutique ». Pour mieux correspondre à votre marque ou à vos campagnes saisonnières, vous pouvez le remplacer par un texte personnalisé.

ajouter_filtre( 'woocommerce_page_title', 'shop_page_title' ); fonction shop_page_title( $title ) { if ( is_shop() ) { return "Nos collections"; } return $title; }

Vous pouvez renommer le titre de la page boutique pour qu'il corresponde à vos catégories de produits, vos campagnes ou votre identité de marque. Par exemple, pendant les soldes de fin d'année, renommez-le « Offres spéciales fêtes » pour un engagement accru.

Améliorations du catalogue pour une meilleure découverte

Une fois les bases établies, l'étape suivante consiste à peaufiner votre catalogue WooCommerce. Ces extraits de code vous permettent de contrôler l'affichage des produits et des catégories sur votre site WordPress, facilitant ainsi la recherche pour vos clients, sans surcharge ni confusion.

Modifier le tri par défaut du catalogue

Par défaut, WooCommerce trie les produits par ordre alphabétique ou selon l'ordre du menu. Vous pouvez modifier ce comportement pour afficher les nouveautés en premier ou trier par prix. Ce simple réglage permet de mettre en avant les nouveaux arrivages ou les meilleures offres.

ajouter_filtre( 'woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby' ); fonction custom_default_catalog_orderby() { return 'date'; // Options : 'date', 'price', 'title' }

Cela permet aux acheteurs de voir vos derniers produits tout en haut de la page de la boutique.

Ajuster le nombre de produits par page

Trop de produits par page peuvent dérouter les acheteurs. Trop peu peuvent les frustrer en les obligeant à cliquer sans cesse. Voici comment contrôler le nombre de produits :

ajouter_filtre( 'loop_shop_per_page', 'new_loop_shop_per_page', 20 ); fonction new_loop_shop_per_page( $cols ) { $cols = 12; // Ajuster ce nombre selon les besoins retourner $cols; }

Le réglage de cette valeur permet d'équilibrer la vitesse du site et l'expérience utilisateur.

Masquer les catégories ou les produits des archives

Il peut arriver que vous ne souhaitiez pas que certaines catégories de produits apparaissent sur la page boutique. Les articles saisonniers, les produits réservés aux grossistes ou les catégories en phase de test peuvent être exclus en quelques clics.

add_action( 'pre_get_posts', 'remove_categories_shop' ); function remove_categories_shop( $q ) { if ( ! $q->is_main_query() || ! $q->is_post_type_archive() ) return; if ( ! is_admin() && is_shop() ) { $q->set( 'tax_query', array(array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'wholesale', 'seasonal' ), 'operator' => 'NOT IN' ))); } }

Cela permet de garder votre catalogue clair en ne présentant que les produits que vous souhaitez que vos clients voient.

Exclure des catégories du widget Catégories de produits

Si vous utilisez le de catégories de produits WooCommerce dans les barres latérales, vous ne souhaitez peut-être pas que tous les produits soient affichés. Vous pouvez exclure une catégorie comme ceci :

add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' ); function woo_product_cat_widget_args( $cat_args ) { $cat_args['exclude'] = array( 25 ); // Remplacez 25 par l'ID de votre catégorie return $cat_args; }

Cet extrait vous offre un meilleur contrôle sur la découverte de vos produits et vous aide à orienter l'attention des clients vers vos catégories les plus rentables.

Améliorations des pages produits pour optimiser les conversions : extraits de code WooCommerce

La page produit est l'endroit où les acheteurs décident d'acheter. Quelques extraits de code WooCommerce suffisent pour simplifier la mise en page, éviter toute confusion et mettre en valeur les informations essentielles.

Renommer ou supprimer les onglets de produits

Les onglets de produits WooCommerce tels que « Description » et « Informations complémentaires » ne correspondent pas toujours au style de votre boutique. Vous pouvez les renommer ou supprimer ceux qui sont superflus.

add_filter( 'woocommerce_product_tabs', 'woo_rename_tab', 98 ); function woo_rename_tab( $tabs ) { $tabs['description']['title'] = 'Plus d'infos'; return $tabs; }

Vous pouvez également supprimer l' Informations supplémentaires s'il vous semble superflu :

ajouter_filtre( 'woocommerce_product_tabs', 'remove_product_tabs', 98 ); fonction supprimer_product_tabs( $tabs ) { unset( $tabs['additional_information'] ); retourner $tabs; }

Remplacez « Rupture de stock » par un texte plus convivial

L'étiquette par défaut « Rupture de stock » peut décourager les clients. Une formulation plus douce comme « Vendu » ou « Bientôt disponible » permet de maintenir leur intérêt.

add_filter( 'woocommerce_get_availability', 'availability_filter_func' ); function availability_filter_func( $availability ) { $availability['availability'] = str_ireplace( 'Out of stock', 'Sold', $availability['availability'] ); return $availability; }

Ce petit changement peut améliorer l'expérience client sans nécessiter de plugins supplémentaires.

Afficher « Déjà dans le panier » au lieu de « Ajouter au panier »

Si un client a déjà ajouté un produit à son panier, l'affichage du même « Ajouter au panier » peut prêter à confusion. Ce fragment de code le remplace par « Déjà dans le panier ».

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); function woo_custom_cart_button_text() { global $woocommerce; foreach( $woocommerce->cart->get_cart() as $cart_item ) { if( get_the_ID() == $cart_item['product_id'] ) { return __( 'Déjà dans le panier', 'woocommerce' ); } } return __( 'Ajouter au panier', 'woocommerce' ); }

Cela permet d'obtenir un retour d'information clair et de fluidifier le processus d'achat.

Simplifier la tarification des produits variables

WooCommerce affiche généralement des fourchettes de prix, par exemple de 100 $ à 200 $, pour les produits à prix variable. Si vous préférez afficher uniquement le prix minimum avec la mention « À partir de », utilisez l’extrait de code suivant :

add_filter( 'woocommerce_variable_price_html', 'variation_price_format_min', 9999, 2 ); function variation_price_format_min( $price, $product ) { $prices = $product->get_variation_prices( true ); $min_price = current( $prices['price'] ); return sprintf( __( 'À partir de %1$s', 'woocommerce' ), wc_price( $min_price ) ); }

Cela permet de définir des attentes plus claires et peut encourager davantage de clics.

Amélioration du panier et du processus de paiement pour une expérience utilisateur optimale : extraits de code WooCommerce

De petites améliorations apportées au panier et au processus de paiement peuvent rapidement augmenter les conversions. Ces extraits de code simplifient les étapes, clarifient les formulaires et permettent aux acheteurs de rester concentrés.

Redirection vers la page de paiement après l'ajout au panier

À utiliser pour les tunnels de vente mono-produit ou les ventes flash où la rapidité est essentielle. À ajouter au fichier functions.php du thème enfant ou à un plugin de snippets.

ajouter_filtre( 'woocommerce_add_to_cart_redirect', 'seahawk_redirect_to_checkout' ); fonction seahawk_redirect_to_checkout( $url ) { return wc_get_checkout_url(); }

Indiquez votre adresse e-mail en premier lors du paiement

Collectez les adresses e-mail au plus tôt pour les procédures de récupération et le support. Moins il y en a, plus la priorité est élevée.

ajouter_filtre( 'woocommerce_checkout_fields', 'seahawk_email_first' ); fonction seahawk_email_first( $fields ) { si ( isset( $fields['billing']['billing_email'] ) ) { $fields['billing']['billing_email']['priority'] = 4; } retourner $fields; }

Rendre le téléphone optionnel ou obligatoire selon le marché

Assurer la conformité et le soutien nécessaires à chaque région.

add_filter( 'woocommerce_billing_fields', 'seahawk_phone_requirement' ); function seahawk_phone_requirement( $address_fields ) { // Définir sur true si votre marché exige un numéro de téléphone $address_fields['billing_phone']['required'] = false; return $address_fields; }

Réorganiser ou nettoyer les champs de paiement

Veillez à ce que les formulaires soient courts et logiques. Exemple : placez le prénom et le nom plus haut.

ajouter_filtre( 'woocommerce_checkout_fields', 'seahawk_reorder_fields' ); fonction seahawk_reorder_fields( $fields ) { si ( isset( $fields['billing']['billing_first_name'] ) ) { $fields['billing']['billing_first_name']['priority'] = 6; } si ( isset( $fields['billing']['billing_last_name'] ) ) { $fields['billing']['billing_last_name']['priority'] = 8; } retourner $fields; }

Ajouter des cases à cocher personnalisées au-dessus des conditions

À utiliser pour obtenir un consentement ou des confirmations supplémentaires. Validation incluse.

ajouter_action( 'woocommerce_checkout_before_terms_and_conditions', 'seahawk_checkout_checkboxes' ); fonction seahawk_checkout_checkboxes() { ?><p class="form-row custom-checkboxes"> <label class="woocommerce-form__label checkbox"><input type="checkbox" class="woocommerce-form__input input-checkbox" name="seahawk_consent_one"><span>J'accepte de recevoir des mises à jour concernant ma commande par courriel</span> <span class="required">*</span></label> <label class="woocommerce-form__label checkbox"><input type="checkbox" class="woocommerce-form__input input-checkbox" name="seahawk_consent_two"><span>Je confirme que mon adresse de livraison est correcte</span> <span class="required">*</span></label></p>

Limiter les caractères de note de commande

Veillez à ce que les notes soient lisibles pour les équipes de traitement des commandes.

add_filter( 'woocommerce_checkout_fields', 'seahawk_limit_order_notes' ); function seahawk_limit_order_notes( $fields ) { if ( isset( $fields['order']['order_comments'] ) ) { $fields['order']['order_comments']['maxlength'] = 180; $fields['order']['order_comments']['placeholder'] = __( 'Ajoutez de courtes notes de livraison. 180 caractères maximum.' ); } return $fields; }

Afficher un avis d'expédition basé sur le pays

Afficher un message dynamique lorsqu'un pays spécifique est sélectionné.

add_action( 'woocommerce_before_checkout_billing_form', 'seahawk_country_notice_container' ); function seahawk_country_notice_container() { echo '<div class="shipping-notice woocommerce-info" style="display:none"> Veuillez prévoir un délai de livraison de 5 à 10 jours ouvrables après traitement.</div> '; } ajouter_action( 'woocommerce_after_checkout_form', 'seahawk_country_notice_script' ); fonction seahawk_country_notice_script() { ?><script> document.addEventListener('DOMContentLoaded', function() { var selectEl = document.querySelector('select#billing_country'); var noticeEl = document.querySelector('.shipping-notice'); var targetCountry = 'FR'; if (!selectEl || !noticeEl) return; function toggleNotice() { if (selectEl.value === targetCountry) { noticeEl.style.display = 'block'; } else { noticeEl.style.display = 'none'; } } toggleNotice(); selectEl.addEventListener('change', toggleNotice); }); </script>

Modifier le champ de mise au point automatique lors du paiement

Sélectionnez d'abord le champ e-mail pour une saisie plus rapide.

add_filter( 'woocommerce_checkout_fields', 'seahawk_change_autofocus' ); function seahawk_change_autofocus( $fields ) { if ( isset( $fields['billing']['billing_first_name'] ) ) { $fields['billing']['billing_first_name']['autofocus'] = false; } if ( isset( $fields['billing']['billing_email'] ) ) { $fields['billing']['billing_email']['autofocus'] = true; } return $fields; }

Ajouter un texte utile à côté du bouton « Passer la commande »

À utiliser pour les notes confidentielles ou les rappels de livraison.

ajouter_action( 'woocommerce_review_order_after_submit', 'seahawk_message_below_checkout_button' ); fonction seahawk_message_below_checkout_button() { echo '<p> <small>En passant cette commande, vous confirmez que les informations fournies sont exactes.</small></p> '; }

Rediriger les cas limites et valider plus tôt

Assurez-vous que les signaux sont corrects avant le paiement. Exemple : exiger les champs de création de compte.

add_filter( 'woocommerce_checkout_fields', 'seahawk_require_account_fields' ); function seahawk_require_account_fields( $fields ) { if ( isset( $fields['account']['account_username'] ) ) { $fields['account']['account_username']['required'] = true; } if ( isset( $fields['account']['account_password'] ) ) { $fields['account']['account_password']['required'] = true; } if ( isset( $fields['account']['account_password-2'] ) ) { $fields['account']['account_password-2']['required'] = true; } return $fields; }

Logique d'expédition intuitive : extraits de code WooCommerce

Des règles d'expédition intelligentes simplifient le choix et rendent les coûts prévisibles. Ces extraits facilitent la prise de décision sans masquer des options utiles comme le retrait en magasin.

Masquer les modes de paiement payants lorsque la livraison gratuite est disponible

Afficher la livraison gratuite uniquement lorsqu'elle est applicable. Garder les tarifs visibles si la livraison gratuite n'est pas disponible.

add_filter( 'woocommerce_package_rates', 'seahawk_only_free_shipping_when_available', 10, 2 ); function seahawk_only_free_shipping_when_available( $rates, $package ) { $new_rates = array(); foreach ( $rates as $rate_id => $rate ) { if ( 'free_shipping' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } if ( ! empty( $new_rates ) ) { // Conserver le retrait en magasin s'il existe foreach ( $rates as $rate_id => $rate ) { if ( 'local_pickup' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } return $new_rates; } return $rates; }

Pourquoi cela est utile

  • Réduit la fatigue décisionnelle lorsque la livraison gratuite est applicable.
  • est maintenu Le retrait en magasin pour les clients qui le préfèrent.
  • Réduit l'abandon de panier sur les commandes sensibles au prix.

Ajouter un message simple concernant le seuil de livraison gratuite

Si vous utilisez une règle de sous-total, affichez un message convivial pour que les clients sachent où ils en sont.

add_action( 'woocommerce_before_cart', 'seahawk_free_shipping_threshold_notice' ); add_action( 'woocommerce_before_checkout_form', 'seahawk_free_shipping_threshold_notice' ); function seahawk_free_shipping_threshold_notice() { $threshold = 75; // Définissez votre seuil de livraison gratuite $subtotal = WC()->cart ? WC()->cart->get_displayed_subtotal() : 0; if ( $subtotal && $subtotal < $threshold ) { $remaining = wc_price( $threshold - $subtotal ); wc_print_notice( 'Ajoutez ' . $remaining . ' pour bénéficier de la livraison gratuite.', 'notice' ); } }

Conseils

  • Adaptez ce seuil à vos paramètres WooCommerce pour que les messages restent précis.
  • Effectuez des tests avec des coupons et des taxes pour vous assurer que les calculs correspondent à votre politique.

Gestion des prix et des devises : extraits de code WooCommerce

Des prix clairs et bien présentés inspirent confiance. Ces extraits de code ajoutent la prise en charge des devises régionales et uniformisent l'affichage des prix dans votre boutique.

Ajouter une devise et un symbole personnalisés

Utile pour les marques régionales ou les boutiques tests. À ajouter au fichier functions.php du thème enfant ou à un plugin de snippets.

// Enregistrer un code de devise personnalisé add_filter( 'woocommerce_currencies', 'seahawk_add_currency' ); function seahawk_add_currency( $currencies ) { $currencies['ABC'] = __( 'Sample Currency', 'woocommerce' ); // Remplacer ABC et le nom return $currencies; } // Associer un symbole à votre devise personnalisée add_filter( 'woocommerce_currency_symbol', 'seahawk_add_currency_symbol', 10, 2 ); function seahawk_add_currency_symbol( $symbol, $currency ) { if ( 'ABC' === $currency ) { $symbol = '¤'; // Remplacer par votre symbole } return $symbol; }

Où l'utiliser

  • Paramètres WooCommerce ⟶ Général ⟶ Options de devise.
  • Sélectionnez votre nouvelle devise après avoir ajouté le code.

Supprimer les zéros inutiles du prix

Un affichage des prix plus clair améliore la lisibilité.

ajouter_filtre( 'woocommerce_price_trim_zeros', '__return_true' );

Ce que cela fait

  • Affiche 19 au lieu de 19,00.
  • Ne conserve les décimales que lorsque cela est nécessaire.

Optionnel ⟶ Contrôler le format des prix par langue

Modifiez les séparateurs de milliers et de décimales pour certains marchés.

add_filter( 'wc_price_args', 'seahawk_price_args_by_locale' ); function seahawk_price_args_by_locale( $args ) { // Exemple pour le style UE if ( is_user_logged_in() && function_exists( 'get_user_locale' ) && 'fr_FR' === get_user_locale() ) { $args['decimal_separator'] = ','; $args['thousand_separator'] = ' '; } return $args; }

Paiements, e-mails et gestion des commandes : extraits de code WooCommerce

Améliorez la communication et le contrôle grâce à quelques extraits de code fiables. Ceux-ci permettent à votre équipe de consulter les mises à jour importantes, d'ajouter les données de commande aux e-mails, de suspendre le processus de paiement pendant la maintenance et de bloquer les commandes à risque.

Ajouter un destinataire supplémentaire pour les e-mails de confirmation de commande

Intégrez le service d'assistance ou la comptabilité une fois la commande finalisée.

add_filter( 'woocommerce_email_recipient_customer_completed_order', 'seahawk_extra_completed_order_recipient', 10, 2 ); function seahawk_extra_completed_order_recipient( $recipient, $order ) { $extra = 'ops@example.com'; // Remplacez par votre adresse if ( $recipient && strpos( $recipient, $extra ) === false ) { $recipient .= ', ' . $extra; } return $recipient; }

Conseil

  • Pour la copie cachée, connectez-vous à woocommerce_email_headers et ajoutez un en-tête BCC.

Ajouter des métadonnées de commande personnalisées aux e-mails transactionnels

Afficher un code de suivi ou tout champ personnalisé enregistré dans les e-mails destinés aux clients.

// 1) Enregistrer un champ de métadonnées de commande personnalisé à des fins de démonstration add_action( 'woocommerce_checkout_update_order_meta', 'seahawk_save_tracking_meta' ); function seahawk_save_tracking_meta( $order_id ) { // Remplacez par votre propre logique qui enregistre une valeur de suivi réelle if ( ! metadata_exists( 'post', $order_id, '_tracking_code' ) ) { update_post_meta( $order_id, '_tracking_code', 'ABC123' ); } } // 2) Injecter ces métadonnées dans les e-mails add_filter( 'woocommerce_email_order_meta_fields', 'seahawk_add_tracking_to_emails', 10, 3 ); function seahawk_add_tracking_to_emails( $fields, $sent_to_admin, $order ) { $tracking = $order->get_meta( '_tracking_code' ); if ( $tracking ) { $fields['tracking_code'] = array( 'label' => __( 'Code de suivi', 'woocommerce' ), 'value' => esc_html( $tracking ), ); } return $fields; }

Là où cela se produit

  • Commande de traitement client
  • Commande client finalisée
  • Nouvelle commande de l'administrateur

Refuser la validation de la commande si l'utilisateur a des commandes en attente

Utile pour la lutte contre la fraude ou les processus spécifiques. Bloque la validation de la commande lorsqu'un client dont l'adresse e-mail correspond à celle du client a des commandes en attente.

add_action( 'woocommerce_after_checkout_validation', 'seahawk_block_when_pending_orders', 10, 2 ); function seahawk_block_when_pending_orders( $data, $errors ) { if ( is_user_logged_in() ) { $customer_id = get_current_user_id(); $args = array( 'type' => 'shop_order', 'status' => array( 'wc-pending' ), 'limit' => 1, 'customer_id' => $customer_id, 'return' => 'ids', ); $pending = wc_get_orders( $args ); if ( ! empty( $pending ) ) { $errors->add( 'seahawk_pending_block', __( 'Vous avez une commande en attente. Veuillez finaliser le paiement ou l'annuler avant de passer une nouvelle commande.' ) ); } return; } // Paiement invité ⟶ correspondance par adresse e-mail de facturation $email = isset( $data['billing_email'] ) ? sanitize_email( $data['billing_email'] ) : ''; if ( $email ) { $args = array( 'type' => 'shop_order', 'status' => array( 'wc-pending' ), 'limit' => 1, 'billing_email' => $email, 'return' => 'ids', ); $pending = wc_get_orders( $args ); if ( ! empty( $pending ) ) { $errors->add( 'seahawk_pending_block_guest', __( 'Vous avez une commande en attente. Veuillez finaliser le paiement ou l'annuler avant de passer une nouvelle commande.' ) ); } } }

Notes

  • Adaptez le message à votre flux de travail de support.
  • Envisagez d'autoriser le paiement en espèces à la livraison ou par virement bancaire si nécessaire.

Activer le mode vacances ou pause

Conservez le catalogue visible tout en désactivant le panier et la validation de la commande. Idéal pour les opérations de maintenance ou les inventaires.

add_action( 'init', 'seahawk_holiday_mode' ); function seahawk_holiday_mode() { if ( ! apply_filters( 'seahawk_holiday_mode_enabled', false ) ) { return; } remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 ); remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 ); add_action( 'woocommerce_before_main_content', 'seahawk_shop_disabled_notice', 5 ); add_action( 'woocommerce_before_cart', 'seahawk_shop_disabled_notice', 5 ); add_action( 'woocommerce_before_checkout_form', 'seahawk_shop_disabled_notice', 5 ); } function seahawk_shop_disabled_notice() { wc_print_notice( __( 'Notre boutique est temporairement indisponible. Veuillez réessayer ultérieurement.' ), 'error' ); }

Comment activer/désactiver

  • Définissez le filtre sur « vrai » dans un court extrait de code d'assistance ou via un plugin spécifique au site :
ajouter_filtre( 'seahawk_holiday_mode_enabled', '__return_true' );

Facultatif ⟶ Modifier le nom et l'adresse des e-mails

Alignez l'expéditeur de vos e-mails avec votre identité de marque.

add_filter( 'wp_mail_from_name', 'seahawk_wp_mail_from_name', 99 ); function seahawk_wp_mail_from_name( $name ) { $wc_name = get_option( 'woocommerce_email_from_name' ); return $wc_name ? html_entity_decode( $wc_name ) : $name; } add_filter( 'wp_mail_from', 'seahawk_wp_mail_from', 99 ); function seahawk_wp_mail_from( $email ) { $wc_email = get_option( 'woocommerce_email_from' ); return $wc_email ? sanitize_email( $wp_email ) : $email; }

Où configurer

  • WooCommerce ⟶ Réglages ⟶ E-mails ⟶ Nom et adresse de l’expéditeur.

Règles d'accès et de compte client : extraits de code WooCommerce

Les données du compte permettent d'accéder au support, à l'historique des commandes et au contenu réservé aux clients. Utilisez ces extraits de code pour gérer les champs du compte et débloquer des fonctionnalités pour les clients ayant déjà acheté le produit.

Rendre les champs du compte obligatoires lors du paiement

Exigez un nom d'utilisateur et un mot de passe lorsque vous souhaitez que vos clients créent un compte au moment du paiement.

add_filter( 'woocommerce_checkout_fields', 'seahawk_require_account_on_checkout' ); function seahawk_require_account_on_checkout( $fields ) { if ( isset( $fields['account']['account_username'] ) ) { $fields['account']['account_username']['required'] = true; } if ( isset( $fields['account']['account_password'] ) ) { $fields['account']['account_password']['required'] = true; } if ( isset( $fields['account']['account_password-2'] ) ) { $fields['account']['account_password-2']['required'] = true; } return $fields; }

Bon pour

  • Magasins réservés aux membres.
  • Réorganiser le support et les adresses enregistrées.
  • Intégration après l'achat.

Vérifier si un utilisateur a déjà acheté des produits spécifiques

Utile pour débloquer les téléchargements, limiter les achats répétés ou afficher les offres de mise à niveau.

function seahawk_user_bought_any( $product_ids = array(), $user_id = 0 ) { if ( empty( $product_ids ) ) return false; if ( ! $user_id && is_user_logged_in() ) { $user_id = get_current_user_id(); } if ( ! $user_id ) return false; $orders = wc_get_orders( array( 'type' => 'shop_order', 'status' => array( 'wc-completed', 'wc-processing' ), 'limit' => -1, 'customer_id' => $user_id, 'return' => 'ids', ) ); if ( empty( $orders ) ) return false; foreach ( $orders as $order_id ) { $order = wc_get_order( $order_id ); foreach ( $order->get_items() as $item ) { $pid = $item->get_product_id(); $vid = $item->get_variation_id(); if ( in_array( $pid, $product_ids, true ) || in_array( $vid, $product_ids, true ) ) { return true; } } } return false; }

Comment l'utiliser dans un modèle

// Exemple dans un modèle de produit ou un shortcode $unlock_for = array( 21, 67 ); // Identifiants de produit qui accordent l'accès if ( seahawk_user_bought_any( $unlock_for ) ) { echo '<p> Merci pour votre achat. Votre contenu bonus est débloqué.</p> '; } sinon { echo '<p> Achetez le cours pour débloquer des leçons bonus.</p> '; }

Idées

  • Afficher un onglet personnalisé uniquement pour les anciens acheteurs.
  • Remplacez le bouton « Ajouter au panier » par un lien de téléchargement.
  • Proposer des surclassements à prix réduit aux anciens propriétaires.

Discipline de recherche et de filtrage : extraits de code WooCommerce

Contrôlez ce que les acheteurs voient dans les résultats de recherche et les modèles. Des résultats clairs permettent aux utilisateurs de trouver plus rapidement les produits qui leur conviennent et de masquer les catégories privées.

Masquer une catégorie dans la recherche sur le site

Exclure les catégories « location », « vente en gros » ou « brouillon » des résultats de recherche.

add_action( 'pre_get_posts', 'seahawk_hide_category_from_search' ); function seahawk_hide_category_from_search( $query ) { if ( is_admin() || ! $query->is_main_query() || ! $query->is_search() ) { return; } $tax_query = array( array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'rentals' ), ​​// Remplacez par le slug de votre catégorie 'operator' => 'NOT IN', ), ); $query->set( 'post_type', array( 'product' ) ); $query->set( 'tax_query', $tax_query ); }

Cas d'utilisation

  • Masquer les articles réservés à la vente en gros.
  • Exclure les brouillons saisonniers jusqu'au lancement.
  • Évitez d'inclure les offres groupées B2B dans les résultats de recherche des détaillants.

Vérifications rapides de la catégorie ou de l'étiquette dans les modèles

Chargement conditionnel des blocs, badges ou messages en fonction de la catégorie ou de l'étiquette.

// Dans une boucle de produit ou un modèle unique if ( has_term( 'sneakers', 'product_cat', get_the_ID() ) ) { echo ' <span class="badge">Édition limitée</span> '; } if ( has_term( array( 'gift', 'bundle' ), 'product_tag', get_the_ID() ) ) { echo '<p> Expédié sous 24 heures</p> '; }

Idées

  • Apposez un badge « Prêt à offrir » sur les articles étiquetés.
  • Ajoutez des tableaux de tailles uniquement aux catégories de vêtements.
  • Afficher les consignes de sécurité sur les produits cosmétiques.

Exclure des catégories du widget Catégories de produits

Veillez à ce que les barres latérales mettent en avant le contenu que vous souhaitez que les utilisateurs consultent.

add_filter( 'woocommerce_product_categories_widget_args', 'seahawk_widget_exclude_cats' ); function seahawk_widget_exclude_cats( $args ) { $args['exclude'] = array( 16, 25 ); // Remplacer par les identifiants de catégorie return $args; }

Conseil

  • Trouvez les identifiants sous Produits ⟶ Catégories ⟶ survolez le nom pour voir l'identifiant dans l'URL.

Améliorations du confort d'administration : extraits de code WooCommerce

Gérer une boutique WooCommerce implique de passer beaucoup de temps dans l' interface d'administration WordPress. Ces extraits de code vous simplifient la vie au quotidien en mettant en évidence les informations importantes et en harmonisant vos e-mails sortants avec votre image de marque.

Ajouter des colonnes personnalisées à la liste des commandes

Afficher directement dans la liste des commandes des données supplémentaires telles que les numéros de série ou les codes de suivi.

// Ajouter une nouvelle colonne add_filter( 'manage_edit-shop_order_columns', 'seahawk_edit_shop_order_columns' ); function seahawk_edit_shop_order_columns( $columns ) { $columns['serial'] = __( 'Serial Number', 'woocommerce' ); return $columns; } // Remplir la colonne avec des données add_action( 'manage_shop_order_posts_custom_column', 'seahawk_shop_order_column_content', 10, 2 ); function seahawk_shop_order_column_content( $column, $post_id ) { if ( 'serial' === $column ) { $serial = get_post_meta( $post_id, '_order_serial_number', true ); if ( $serial ) { echo esc_html( $serial ); } else { echo '—'; } } }

Pourquoi cela aide

  • Permet de réduire le nombre de clics en affichant les données dès le départ.
  • Réduit le temps passé à ouvrir chaque commande.

Ajouter des produits liés ou des références (SKU) aux types de publications personnalisés

Si vous utilisez des configurations de produits personnalisées, vous pouvez étendre davantage les colonnes.

add_filter( 'manage_edit-product_columns', 'seahawk_edit_product_columns' ); function seahawk_edit_product_columns( $columns ) { $columns['sku'] = __( 'SKU', 'woocommerce' ); return $columns; } add_action( 'manage_product_posts_custom_column', 'seahawk_product_column_content', 10, 2 ); function seahawk_product_column_content( $column, $post_id ) { if ( 'sku' === $column ) { $product = wc_get_product( $post_id ); echo $product ? $product->get_sku() : ''; } }

Cas d'utilisation

  • Consultez les références produits en un coup d'œil.
  • Maintenir l'efficacité des gestionnaires de catalogues.

Alignez le nom et l'adresse de l'expéditeur du courriel avec la marque

Les paramètres par défaut de WordPress peuvent paraître peu professionnels. Corrigez-les en récupérant les valeurs des paramètres WooCommerce.

add_filter( 'wp_mail_from_name', 'seahawk_custom_from_name', 99 ); function seahawk_custom_from_name( $name ) { $wc_name = get_option( 'woocommerce_email_from_name' ); return $wc_name ? html_entity_decode( $wc_name ) : $name; } add_filter( 'wp_mail_from', 'seahawk_custom_from_address', 99 ); function seahawk_custom_from_address( $email ) { $wc_email = get_option( 'woocommerce_email_from' ); return $wc_email ? sanitize_email( $wc_email ) : $email; }

Où définir les valeurs

  • WooCommerce ⟶ Paramètres ⟶ E-mails ⟶ Nom de l'expéditeur et adresse de l'expéditeur.

Outils d'optimisation des performances et de la mise en page : extraits de code WooCommerce

Des pages plus rapides et une mise en page claire augmentent les conversions. Ces extraits de code permettent d'optimiser l'affichage de votre panier sur mobile et de rendre les recherches de produits phares plus efficaces.

Rendre le tableau du panier compatible avec les appareils mobiles

Sur les petits écrans, affichez le tableau du panier en lignes empilées. Ajoutez ce code CSS à la feuille de style de votre thème enfant ou à un panneau CSS de personnalisation.

/* Tableau de panier WooCommerce optimisé pour mobile */ @media screen and (max-width: 700px) { .woocommerce table.shop_table, .woocommerce table.shop_table thead, .woocommerce table.shop_table tbody, .woocommerce table.shop_table th, .woocommerce table.shop_table td, .woocommerce table.shop_table tr { display: block; } .woocommerce table.shop_table thead tr { position: absolute; top: -9999px; left: -9999px; } .woocommerce table.shop_table tr { margin-bottom: 12px; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; } .woocommerce table.shop_table td { position: relative; padding-left: 50% !important; border: none; border-bottom: 1px solid #f1f5f9; } .woocommerce table.shop_table td:last-child { border-bottom: none; } .woocommerce table.shop_table td::before { position: absolute; top: 10px; left: 10px; width: 45%; white-space: nowrap; font-weight: 600; content: attr(data-title); } }

Comment ça marche

  • Utilise l'attribut data-title que WooCommerce ajoute aux cellules du tableau.
  • Masque l'en-tête et transforme chaque ligne en carte.
  • Améliore la lisibilité sur les téléphones sans plugin.

Utilisez un identifiant transitoire pour les produits mis en avant

La mise en cache d'une liste de produits phares réduit les requêtes répétées. Initialisez-la une seule fois et réutilisez-la dans tous vos modèles.

function seahawk_get_featured_product_ids( $cache_key = 'seahawk_featured_ids', $ttl = HOUR_IN_SECONDS ) { $ids = get_transient( $cache_key ); if ( false !== $ids ) { return $ids; } $featured_query = new WP_Query( array( 'post_type' => 'product', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => '_featured', 'value' => 'yes', 'compare' => '=', ), ), 'fields' => 'ids', 'no_found_rows' => true, ) ); $ids = $featured_query->posts; set_transient( $cache_key, $ids, $ttl ); return $ids; } // Exemple d'utilisation ⟶ créer une mini-grille add_shortcode( 'seahawk_featured_grid', function( $atts ) { $ids = seahawk_get_featured_product_ids(); if ( empty( $ids ) ) return '<p> Aucun produit vedette trouvé.</p> '; $out = '<ul class="featured-grid"> '; pour chaque ( $ids comme $pid ) { $out .= '<li> <a href="' . esc_url( get_permalink( $pid ) ) . '">' . esc_html( get_the_title( $pid ) ) . '</a></li> '; } $out .= '</ul> '; retourner $out; } );

Conseils

  • Effacez l'élément transitoire lorsque vous activez ou désactivez le statut « À la une ».
  • Intégrez les mises à jour du produit pour supprimer le cache.
ajouter_action( 'save_post_product', function( $post_id ) { supprimer_transitoire( 'seahawk_featured_ids' ); } );

Détails de conformité et de localisation : extraits de code WooCommerce

De petites modifications apportées aux formulaires et à la langue rendent le processus de paiement plus rapide et plus précis selon les régions. Ces extraits de code vous permettent de localiser vos produits sans plugins supplémentaires.

Supprimez le champ État lorsqu'il n'est pas nécessaire

Certains pays n'utilisent pas d'États. Masquer ce champ raccourcit le formulaire et réduit les risques de confusion.

ajouter_filtre( 'woocommerce_default_address_fields', 'seahawk_remove_state_field' ); fonction seahawk_remove_state_field( $fields ) { si ( isset( $fields['state'] ) ) { $fields['state']['required'] = false; $fields['state']['hidden'] = true; } retourner $fields; }

Conseil

  • Utilisez la logique conditionnelle si vous souhaitez la masquer uniquement pour certains pays.

Ajouter un pays personnalisé à la liste

Utile pour les environnements de test ou les régions spécifiques.

add_filter( 'woocommerce_countries', 'seahawk_add_custom_country' ); function seahawk_add_custom_country( $countries ) { $countries['XX'] = __( 'Exampleland', 'woocommerce' ); // Remplacer le code et le nom return $countries; } add_filter( 'woocommerce_continents', 'seahawk_map_custom_country' ); function seahawk_map_custom_country( $continents ) { // Ajouter le code pays à un continent if ( isset( $continents['EU']['countries'] ) ) { $continents['EU']['countries'][] = 'XX'; } return $continents; }

Là où il apparaît

  • Paramètres WooCommerce ⟶ Général ⟶ Zones de vente.
  • Menus déroulants « Pays » sur les pages de paiement et de compte.

Traduisez rapidement les microcopies avec gettext

Corrigez les fautes de frappe ou modifiez le libellé dans toute la boutique sans modifier les modèles.

add_filter( 'gettext', 'seahawk_quick_translate', 10, 3 ); function seahawk_quick_translate( $translated, $original, $domain ) { // Exemple ⟶ remplacer « Choisir une option » par « Sélectionner » if ( 'Choisir une option' === $original && 'woocommerce' === $domain ) { return 'Sélectionner'; } // Exemple ⟶ renommer « Ajouter au panier » en « Ajouter au sac » if ( 'Ajouter au panier' === $original && 'woocommerce' === $domain ) { return 'Ajouter au sac'; } return $translated; }

Notes

  • Reproduisez exactement la chaîne d'origine.
  • Veillez à ce que les changements restent cohérents avec l'image de marque.

Facultatif ⟶ Localiser les séparateurs de prix selon les paramètres régionaux

Aidez les utilisateurs à lire les prix dans un format familier.

ajouter_filtre( 'wc_price_args', 'seahawk_price_format_by_locale' ); fonction seahawk_price_format_by_locale( $args ) { si ( fonction_exists( 'get_user_locale' ) && 'fr_FR' === get_user_locale() ) { $args['decimal_separator'] = ','; $args['thousand_separator'] = ' '; } retourner $args; }

Test

  • Total du panier.
  • Coupons et taxes.
  • Courriels de commande.

Réflexions finales

Vous disposez désormais d'une bibliothèque d'extraits de code WooCommerce couvrant l'affichage du catalogue, le processus de paiement, la logique d'expédition, la tarification, la localisation et le confort d'administration. Utilisés conjointement, ces extraits vous offrent un contrôle total sans avoir recours à des extensions lourdes et préservent la légèreté de votre site WordPress.

Avant de les mettre en œuvre, gardez à l'esprit ces dernières bonnes pratiques :

  • Toujours tester en environnement de test avant d'appliquer des extraits de code à un site en production.
  • Conservez des copies de sauvegarde de votre fichier functions.php ou de l'exportation de votre plugin d'extraits de code.
  • Ajoutez des commentaires à chaque extrait de code afin que les futurs développeurs comprennent son rôle.
  • Consultez les mises à jour de WooCommerce ⟶ certains extraits de code peuvent nécessiter des ajustements au fil du temps.

Utilisées avec soin, ces petites fonctions peuvent vous éviter d'installer des dizaines de plugins et rendre votre boutique en ligne plus rapide et plus facile à gérer.

FAQ sur les extraits de code WooCommerce

Quelle est la méthode la plus sûre pour ajouter des extraits de code WooCommerce ?

La méthode la plus sûre consiste à utiliser le fichier functions.php d'un thème enfant ou une extension de type « Extraits de code ». Cela garantit que votre code reste intact lors des mises à jour du thème et peut être géré sans modifier directement les fichiers du thème.

Dois-je utiliser functions.php ou un plugin de snippets ?

Pour un contrôle total, le fichier functions.php convient. Pour plus de flexibilité, notamment sur les sites clients, un plugin comme Code Snippets Pro est plus facile à gérer et propose l'importation et l'exportation automatiques.

Est-ce que je peux endommager mon site avec un extrait de code mal formaté ?

Oui. Une simple erreur PHP peut entraîner une erreur fatale. Testez toujours vos extraits de code sur un environnement de test avant de les ajouter à votre boutique en ligne.

Les extraits de code ralentissent-ils WooCommerce ?

Non, pas s'ils sont correctement écrits. En fait, les extraits de code remplacent souvent les plugins, ce qui réduit la taille du code et accélère votre boutique.

Comment tester les extraits de code après les avoir ajoutés ?

Effectuez le test en tant qu'invité et en tant qu'utilisateur connecté. Parcourez le panier, la page de paiement et les champs de paiement de votre compte. Vérifiez que la livraison, le mode de paiement et les totaux fonctionnent correctement.

Articles similaires

Développeur WordPress dédié vs Service de support WordPress

Développeur WordPress dédié ou service d'assistance WordPress : lequel vous convient ?

Lorsqu'un site WordPress atteint le point où les mises à jour ponctuelles des plugins ne suffisent plus,

Comment intégrer un PDF dans WordPress (3 méthodes simples)

Comment intégrer un PDF dans WordPress ? (3 méthodes simples)

Pour intégrer un PDF dans WordPress, vous avez trois options : le bloc Fichier intégré, un

Conversion Lovent vers Elementor

Comment convertir facilement un site web attrayant en site Elementor sans tout reconstruire à partir de zéro ?

Ce guide vous expliquera étape par étape comment convertir Lovable en Elementor

Commencez avec Seahawk

Inscrivez-vous sur notre application pour consulter nos tarifs et bénéficier de réductions.