WooCommerce permet de calculer automatiquement les frais d’expédition. Dans certains cas, il peut être utile de limiter ce montant pour qu’il ne dépasse jamais une certaine valeur.
Contenu avancé #
Cet article utilise du code PHP. Une erreur peut rendre le site inaccessible. Il est recommandé d’utiliser un thème enfant ou un plugin de snippets.
Objectif #
Définir un plafond maximum pour les frais d’expédition calculés par WooCommerce.
Code à utiliser #
Ajoute le code suivant dans le fichier functions.php de ton thème enfant ou via un plugin de snippets :
/**
* Fonction pour définir un minimum / plafond sur les frais d’expédition
*/
function my_minimum_limit_shipping_rates_function( $rates, $package ) {
$methods = WC()->shipping()->get_shipping_methods();
$shipping_limit = 10.50; // Le montant maximum est de 10.50
// Boucle sur tous les tarifs
foreach ( $rates as $rate_id => $rate ) {
// Vérifie si le tarif dépasse le montant défini
if ( $rate->cost > $shipping_limit ) {
$rate->cost = $shipping_limit;
// Recalcul des taxes d’expédition
if ( $method = $methods[ $rate->get_method_id() ] ) {
$taxes = WC_Tax::calc_shipping_tax( $rate->cost, WC_Tax::get_shipping_tax_rates() );
$rate->set_taxes( $method->is_taxable() ? $taxes : array() );
}
}
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'my_minimum_limit_shipping_rates_function', 10, 2 );
Comprendre le fonctionnement #
- Le filtre
woocommerce_package_ratespermet d’intervenir sur les frais d’expédition calculés par WooCommerce. - La variable
$shipping_limitdéfinit le montant maximum autorisé. - Si un tarif dépasse cette limite, son montant est remplacé par la valeur définie.
- Les taxes d’expédition sont ensuite recalculées pour rester cohérentes.
Personnaliser la limite #
Dans cet exemple, le plafond est fixé à 10.50.
Tu peux remplacer cette valeur par le montant de ton choix, par exemple :
15.0025.0050.00
Quand utiliser cette méthode #
- si les frais d’expédition deviennent trop élevés sur les gros paniers
- si tu veux rassurer les clients avec un montant maximum
- si ta logique commerciale prévoit un plafond de livraison
Points d’attention #
- Ce code agit sur les tarifs d’expédition calculés par WooCommerce.
- Il modifie aussi les taxes liées à l’expédition.
- Teste toujours le résultat avec plusieurs paniers avant mise en production.
- Ne modifie jamais directement le thème principal.
Astuce utile #
Cette méthode est particulièrement utile lorsque tes frais d’expédition sont calculés automatiquement mais que tu souhaites éviter qu’ils dépassent un seuil psychologique ou commercial.
Compatibilité #
Cette méthode fonctionne avec les tarifs d’expédition WooCommerce standard. Si tu utilises un plugin de livraison avancée, des ajustements peuvent être nécessaires.
Pour aller plus loin #
- Calculer les frais d’expédition avec une classe de livraison
- Utiliser des formules avancées pour calculer les frais d’expédition
Pour conclure #
Avec ce snippet, tu peux plafonner proprement les frais d’expédition dans WooCommerce. C’est une solution efficace lorsque tu veux conserver une logique automatique tout en gardant le contrôle sur le montant final affiché au client.

