Ajouter automatiquement un produit au panier

Si vous souhaitez ajouter automatiquement un produit au panier lors de la visite d’un internaute dans votre boutique Woocommerce.
Ajouter le code suivant dans le fichier function.php de votre thème WordPress :

// Ajouter un produit automatiquement
add_action( 'init', 'add_product_to_cart' );

function add_product_to_cart() {
if ( ! is_admin() ) {
global $woocommerce;
$product_id = 22;
$found = false;
//On vérifie si il y a déja un produit dans le panier
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product_id )
$found = true;
}

if ( ! $found )
$woocommerce->cart->add_to_cart( $product_id );
} else {

$woocommerce->cart->add_to_cart( $product_id );
}
}
}

 

A la ligne 6 $product_id = 22  remplacer 22 par l’identifiant du produit à ajouter automatiquement.

2015-08-15_18h24_58

2/ Permettre a votre client de supprimer le produits ajouter automatiquement dans le panier.

Si vous voulez permettre à votre client de supprimer un produit qui a été ajouté automatiquement dans leur panier, vous pouvez ajouter le code suivant dans le fichier function.php. Ce code va créer une règle sur la page du panier et de commande qui permettra à votre client de supprimer le produit qui a été ajouté automatiquement.

 

add_action( 'template_redirect', 'add_product_to_cart' );

function add_product_to_cart() {
    if ( ! is_admin()  && !is_cart() && !is_checkout()) {
        $product_id = 71; //Remplacer 22 par l'identifiant de votre produit
        $found = false;
        // On vérifie si le produit est déjà dans le panier
        if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
            foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                $_product = $values['data'];
                if ( $_product->get_id() == $product_id )
                    $found = true;
            }
            // Si le produit n'est pas trouvé, ajoutez-le.
            if ( ! $found )
                WC()->cart->add_to_cart( $product_id );
        } else {
            // if no products in cart, add it
            WC()->cart->add_to_cart( $product_id );
        }
    }
}

 

3/ Ajouté un produit automatiquement en fonction du montant du panier.

Dans ce 3éme extrait de code vous pouvez définir un montant minimum pour avoir un produit gratuitement et votre client pourra le supprimer dans son panier. Ajouter le code suivant dans le fichier function.php.

/*
* Ajout automatique du produit au panier lorsque le montant total du panier atteint 60€.
*/

function naxialis_add_product_to_cart() {
    global $woocommerce;
    
    if ( ! is_admin()  && !is_cart() && !is_checkout()) {
    
    $cart_total	= 60; // Ici on defini le montant minimum pour avoir le produit gratuit	

    if ( $woocommerce->cart->total >= $cart_total ) {
        if ( ! is_admin() ) {
            $free_product_id = 22;  // Remplacer 22 par l'identifiant de votre produit
            $found 		= false;

            // On vérifie si le produit est déjà dans le panier
            if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
                foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                    $_product = $values['data'];
                    if ( $_product->get_id() == $free_product_id )
                    	$found = true;	                
                }
                // Si le produit n'est pas trouvé, ajoutez-le.
                if ( ! $found )
                    WC()->cart->add_to_cart( $free_product_id );
            } else {
                // if no products in cart, add it
                WC()->cart->add_to_cart( $free_product_id );
            }        
        }
    }
    }        
}

add_action( 'template_redirect', 'naxialis_add_product_to_cart' );

 

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest

4 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Toufik
1 année il y a

Mais moi je cherche un code qui ajoute just le produit lorsque je visite ca page la meme page de produits

KEVINLAFABRIKABULLES
1 année il y a

Bonjour et merci pour cette fonction très utile !

je me demande si il est possible de masquer ce produit afin que le client ne le voit pas dans son panier ? Ou sinon si il est possible de réduire la quantité de produit affichée dans le panier de 1 afin que le client n’ai pas une différence entre les produits qu’il commande et ce qui est affiché en haut

merci d’avance
bonne journée
kevin

lio
lio
10 mois il y a

Bonjour,

merci pour ce code. Je l’ai utilisé, le produit s’ajoute bien dans le panier dès qu’un article est sélectionné mais il reste également quand le panier est vide. Comment faire pour qu’il ne plus présent ?