"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحديث عدد عناصر سلة التسوق لرأس WooCommerce ديناميكيًا باستخدام AJAX؟

كيفية تحديث عدد عناصر سلة التسوق لرأس WooCommerce ديناميكيًا باستخدام AJAX؟

تم النشر بتاريخ 2024-11-04
تصفح:428

How to Dynamically Update WooCommerce Header Cart Items Count Using AJAX?

عدد عناصر Ajaxify Header Cart في WooCommerce

تحديد الحاجة

في سمات 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