Bouton « Ajouter au panier » désactivé sur Woocommerce, la dernière mise à jour qui met la panique à bord
Cette actualité sera assez brève, mais je tenais tout de même à la rédiger, surtout pour vous donner un petit fix temporaire le temps qu'une prochaine version de Woocommerce vienne corriger tout ça !
Vous l'avez ainsi peut-être remarqué (ce n'est pas pour rien que vous lisez cet article), mais depuis la dernière mise à jour de Woocommerce (10.5.1), pas mal d'utilisateurs semblent se retrouver dans la même situation assez génante : le bouton "Ajouter au panier" de leur site web est tout simplement désactivé.
D'après des échanges sur le support du plugin Woocommerce, le responsable pourrait être la nouvelle fonctionnalité de vérification des stocks : qui est en charge d'activer, ou non, le bouton "Ajouter au panier" en fonction de la disponibilité du produit (avant cela se faisait côté PHP, aujourd'hui avec cette nouvelle version, en JS directement).

On a une solution ?
Et oui, heureusement !
Nous avons deux solutions qui s'offrent à nous :
- Faire un rollback vers une version plus ancienne de Woocommerce (la 10.4.3), tout en surveillant une prochaine mise à jour qui corrigera le problème,
- Appliquer un fix temporaire qui se chargera automatiquement de réactiver le bouton disabled
Personnellement j'ai opté pour la deuxième solution, j'évite au maximum de retrograder des versions en production, ne serait-ce que par mesure de sécurité.
Le fix temporaire
Je tiens à rendre crédit à @brpmototim qui a partagé sa version du fix directement dans un thread de support.
Pour en bénéficier, il vous faudra rajouter ces lignes de PHP dans votre thème enfant (si vous en avez déjà un) :
//Add to Cart Disable fix script
function disabled_cart_fix() {
wp_enqueue_script('disabled-cart', plugin_dir_url(__FILE__) . 'js/addtocart.js', array('jquery'), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'disabled_cart_fix');
//End Add to Cart Disable scriptPHPEt créer un répertoire js dans lequel vous allez mettre ce script, renommé en addtocart.js
jQuery(function($){
$('.variations_form .single_add_to_cart_button').removeAttr('disabled');
});JavaScriptEt todoum, comme par magie, le bouton n'est plus désactivé et vous retrouvez une boutique fonctionnelle.
Comment ça marche ? C'est tout simple, ces quelques lignes vont faire injecter un petit script JS qui va "bêtement" aller retirer l'attribut "disabled" à tous les boutons d'ajout au panier qu'il pourra croiser sur sa route. Simple, efficace, et à retirer lorsque une mise à jour de Woocommerce corrigera tout ça !
Vous n'êtes pas à l'aise avec cette installation ?
N'hésitez pas à me contacter directement via ce lien si vous n'arrivez pas à mettre ce script en place, ou si vous n'êtes pas assez à l'aise pour le faire.
Je pourrais vous aiguiller ou nous pourrions le faire ensemble en direct 🙂
En attendant je vous dis à très vite et portez vous bien !
Besoin de concentration ?
Testez mon nouvel outil « Pomodoro Timer » pour optimiser votre temps de travail et votre productivité !




