Identification du besoin
Dans les thèmes WordPress intégrés à WooCommerce, mise à jour du panier d'en-tête le comptage des éléments sans recharger la page est un défi courant. jQuery propose une solution, mais des questions se posent lorsque des articles peuvent être ajoutés en plusieurs quantités.
Utiliser AJAX pour récupérer le nombre total
Pour récupérer dynamiquement le nombre total de paniers à partir de PHP sessions utilisant jQuery, un fichier reloadCart.php est créé pour faire écho à la valeur :
cart->get_cart_contents_count();
?>
Implémentation AJAX
Cependant, les tentatives d'appel AJAX vers ce fichier à l'aide des fonctions get(), post() ou ajax() de jQuery ont échoué .
Approche améliorée
Au lieu de s'appuyer sur un rechargement, WooCommerce propose un crochet d'action woocommerce_add_to_cart_fragments dédié qui prend en charge Ajax.
Intégration HTML
Incorporez le nombre de paniers dans l'en-tête avec un identifiant ou une classe unique :
$items_count = WC()->cart->get_cart_contents_count();
?>
Code PHP
Implémentez le code suivant dans le fichier function.php du thème ou dans un plugin :
add_filter( 'woocommerce_add_to_cart_fragments', 'wc_refresh_mini_cart_count');
function wc_refresh_mini_cart_count($fragments){
ob_start();
$items_count = WC()->cart->get_cart_contents_count();
?>
Remplacez #mini-cart-count par .mini-cart-count si vous utilisez une classe.
jQuery Refresh
Si jQuery Actualisation supplémentaire est requis :
$(document.body).trigger('wc_fragment_refresh');
ou
$(document.body).trigger('wc_fragments_refreshed');
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3