تحديد الحاجة
في سمات WordPress المدمجة في WooCommerce، تحديث عربة الرأس يعد عدد العناصر دون إعادة تحميل الصفحة تحديًا شائعًا. يقدم jQuery حلاً، ولكن تظهر الأسئلة عندما يمكن إضافة العناصر بكميات متعددة.استخدام AJAX لاسترداد العدد الإجماليلاسترداد إجمالي عدد سلة التسوق ديناميكيًا من PHP جلسات باستخدام jQuery، يتم إنشاء ملف reloadCart.php لتكرار القيمة:
cart->get_cart_contents_count(); ?>cart->get_cart_contents_count();
?>
تنفيذ AJAXومع ذلك، لم تنجح محاولات إجراء استدعاءات AJAX لهذا الملف باستخدام وظائف get() أو post() أو ajax() الخاصة بـ jQuery. .
نهج محسّن
بدلاً من الاعتماد على إعادة التحميل، يقدم WooCommerce خطاف إجراءات woocommerce_add_to_cart_fragments مخصص يدعم Ajax.
تكامل HTML
قم بتضمين عدد سلة التسوق في الرأس بمعرف أو فئة فريدة:
$items_count = WC()->cart->get_cart_contents_count(); ?>
cart->get_cart_contents_count();
?>PHP Codeنفذ الكود التالي في ملف function.php الخاص بالقالب أو في مكون إضافي:
add_filter( ' woocommerce_add_to_cart_fragments'، 'wc_refresh_mini_cart_count')؛
الدالة wc_refresh_mini_cart_count($fragments){
ob_start();
$items_count = WC()->cart->get_cart_contents_count();
?>
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();
?>
jQuery Refreshإذا تم تحديث jQuery إضافي مطلوب:
$(document.body).trigger('wc_fragment_refresh');$(document.body).trigger('wc_fragment_refresh');
$(document.body).trigger ('wc_fragments_refreshed')؛
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3