Pour rendre votre boutique WooCommerce un peu plus originale, je vous propose de modifier le comportement de votre bouton « Ajouter au panier » lorsque le produit est déjà dans le panier.

Vous pouvez par exemple afficher dynamiquement le texte « Acheter à nouveau » à la place du texte « Ajouter au panier » .

Voici comment s’y prendre.

Copiez-collez le texte suivant dans le fichier functions.php de votre thème enfant:

/* Modifier le texte du bouton "Ajouter au panier" si le produit est déjà dans le panier */

add_filter( 'woocommerce_product_single_add_to_cart_text', 'wpm_custom_cart_button_text' );

function wpm_custom_cart_button_text() {
    global $woocommerce;

// On récupère tous les produits présent dans le panier
    foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product = $values['data'];
// Si l'ID d'un des produits du panier correspond à l'ID du produit de la page produit sur laquelle on se trouve, on change le texte du bouton 
        if( get_the_ID() == $_product->id ) {
            return __('Acheter à nouveau?', 'woocommerce');
        }
    }
// Si les ID ne correspondent pas, on laisse le texte standard de WooCommerce
    return __('Ajouter au panier', 'woocommerce');
}

Maintenant lorsqu’un produit est déjà dans le panier, voici ce que vous devriez avoir sur vos pages produits :

bouton ajout panier woocommerce snippets wpmarmite

Modifiez le texte « Acheter à nouveau? » dans le code par celui que vous préférez.

N’hésitez pas à nous partager en commentaire votre utilisation de ce snippet 😉

Source: CatsWhoCode