Le site est en ligne depuis 822 jours. 45 articles sont publiés / 64 commentaires au total.

Bouton « Ajouter au panier » désactivé sur Woocommerce, la dernière mise à jour qui met la panique à bord

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).

Extrait du support public du plugin Woocommerce

On a une solution ?

Et oui, heureusement !

Nous avons deux solutions qui s'offrent à nous :

  1. 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,
  2. 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 script
PHP

Et 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');
});
JavaScript

Et 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 !

Annonces internes

Besoin de concentration ?

Testez mon nouvel outil « Pomodoro Timer » pour optimiser votre temps de travail et votre productivité !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Rejoignez les astuces du dev, la newsletter 100% tech&astuces
This is default text for notification bar