Ajouter des frais supplémentaires au panier avec Woocommerce

Vous venez de créer votre site e-commerce avec Woocommerce, et vous avez peut-être avoir besoin d’ajouter des frais supplémentaires au panier. Comme des frais de protections d’acheteur, etc.
Pour cela, voici plusieurs codes qui vont vous permettre d’ajouter différents frais en fonction de critères différents.
Ajouter ce ou ces codes dans le fichier functions.php de votre thème enfant.

Ajouter un supplément basé sur un pourcentage à toutes les transactions

				
					/**
 * Add a 1% surcharge to your cart / checkout
 * change the $percentage to set the surcharge to a value to suit
 */
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
  global $woocommerce;

	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
		return;

	$percentage = 0.01;
	$surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;	
	$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );

}
				
			

Ajouter un supplément de valeur standard en $ / € à toutes les transactions

				
					/**
 * Add a standard $ value surcharge to all transactions in cart / checkout
 */
add_action( 'woocommerce_cart_calculate_fees','wc_add_surcharge' ); 
function wc_add_surcharge() { 
global $woocommerce; 

if ( is_admin() && ! defined( 'DOING_AJAX' ) ) 
return;

$county = array('US');
// change the $fee to set the surcharge to a value to suit
$fee = 1.00;

if ( in_array( WC()->customer->get_shipping_country(), $county ) ) : 
    $woocommerce->cart->add_fee( 'Surcharge', $fee, true, 'standard' );  
endif;
}
				
			

Ajouter un supplément en fonction du pays de livraison

				
					/**
 * Add a 1% surcharge to your cart / checkout based on delivery country
 * Taxes, shipping costs and order subtotal are all included in the surcharge amount
 */
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
  global $woocommerce;
 
	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
		return;

 	$county 	= array('US');
	$percentage 	= 0.01;

	if ( in_array( $woocommerce->customer->get_shipping_country(), $county ) ) :
		$surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;
		$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );
	endif;
 
}
				
			

Ajouter un supplément basé sur un pourcentage et une valeur standard $ / € à toutes les transactions

				
					/**
 * Add a 1% surcharge to your cart / checkout
 * change the $percentage to set the surcharge to a value to suit
 * Add a standard $ value surcharge to all transactions in cart / checkout
 */
 
 add_action( 'woocommerce_cart_calculate_fees', 'woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $percentage = 0.01;
    $fixed_fee  = 0.1;

    $percentage_fee = ( $cart->cart_contents_total + $cart->shipping_total ) * $percentage;
    $surcharge  = $fixed_fee + $percentage_fee;

    $cart->add_fee( 'Processing Fee', $surcharge, true );
}
				
			

Testé sur WordPress 6.1 et Woocommerce 6.8.2 

Un nouveau projet WordPress ? Besoin d’aide ?

Contactez-moi ou visitez mon site et je me ferais un plaisir de vous aider. 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

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 :
Ajouter des frais supplémentaires au panier avec Woocommerce