تُعتبر مشكلة Cart is Empty أو “سلة التسوق فارغة” عند الانتقال إلى صفحة الدفع من أكثر المشكلات شيوعًا في WooCommerce. هذه المشكلة تؤثر بشكل مباشر على تجربة المستخدم وتؤدي إلى فقدان المبيعات، حيث يضيف العميل منتجات إلى السلة ثم يجدها فارغة عند محاولة إتمام عملية الشراء.
الأسباب الشائعة لمشكلة Cart is Empty
- جلسات المستخدم (Sessions) غير مستقرة: إعدادات السيرفر أو مشاكل في الكوكيز قد تؤدي إلى فقدان بيانات السلة.
- تعارض الإضافات: خاصة إضافات الكاش أو تحسين الأداء التي تمنع حفظ الجلسات بشكل صحيح.
- كوكيز محجوبة: منع ملفات تعريف الارتباط يوقف عمل الجلسات ويؤدي إلى فقدان السلة.
- تحديث روابط الصفحات: تعديل روابط السلة أو الدفع دون تحديث الروابط الدائمة (Permalinks).
- مشاكل HTTPS/SSL: إعادة التوجيه بين HTTP وHTTPS تسبب فقدان بيانات الجلسة.
- إعدادات السيرفر: مثل
memory_limitأوmax_execution_timeقد تكون منخفضة وتؤثر على استقرار WooCommerce. - إضافات متعددة العملات: بعض الإضافات الخاصة بالعملات تسبب تعارضًا مع الجلسات.
- استخدام بلوك السلة الجديد: بعض المواقع واجهت المشكلة عند استخدام Cart Block بدلًا من الـ Shortcode التقليدي.
الحلول البسيطة (Simple Fixes)
- تعطيل إضافات الكاش مؤقتًا: مثل WP Rocket أو W3 Total Cache، ثم اختبار السلة.
- تعطيل جميع الإضافات باستثناء WooCommerce: ثم إعادة تفعيلها واحدة تلو الأخرى لتحديد مصدر التعارض.
- التبديل إلى قالب افتراضي: مثل Storefront أو Twenty Twenty-Three لاختبار القالب الحالي.
- التحقق من إعدادات الكوكيز والجلسات: وإضافة السطر التالي في ملف
wp-config.php:define('COOKIE_DOMAIN', false); - إعادة حفظ الروابط الدائمة: من لوحة التحكم عبر الإعدادات → الروابط الدائمة.
- التأكد من بروتوكول HTTPS: يجب أن تعمل جميع الصفحات عبر HTTPS بشكل موحد.
- استخدام الـ Shortcode التقليدي: بدلًا من Cart Block إذا ظهرت المشكلة.
الحلول التقنية المتقدمة
- مراجعة إعدادات الاستضافة: زيادة قيم
memory_limitوmax_execution_timeوضبط الجلسات. - فحص قاعدة البيانات: باستخدام إضافات مثل WP-Optimize للتأكد من سلامة جداول WooCommerce.
- مراقبة الأخطاء: عبر تفعيل WP_DEBUG وإضافة الأسطر التالية:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);ثم مراجعة ملف
/wp-content/debug.log. - استخدام أدوات تشخيصية: مثل Query Monitor لمراقبة الاستعلامات وHealth Check لتحديد التعارضات.
- التعامل مع خدمات CDN: مثل Cloudflare عبر استثناء صفحات السلة والدفع من الكاش.
حالات خاصة وحلولها
- السلة تعمل للمستخدمين المسجلين فقط: تحقق من إعدادات الجلسات والكوكيز للزوار.
- السلة تصبح فارغة بعد الضغط على Proceed to Checkout: راجع إعادة التوجيهات بين HTTP وHTTPS.
- تعارض إضافات متعددة العملات: جرب تعطيلها أو تحديثها.
قائمة تحقق (Check-list)
- تعطيل الكاش واختبار السلة.
- إعادة حفظ الروابط الدائمة.
- تبديل القالب إلى افتراضي.
- تفعيل WP_DEBUG ومراجعة السجلات.
- تعديل wp-config.php لإصلاح COOKIE_DOMAIN.
- استثناء صفحات السلة والدفع من CDN.
- اختبار Shortcode بدلًا من Cart Block.
نصائح وقائية
- استخدام SSL لجميع الصفحات.
- تحديث WooCommerce ووردبريس والإضافات بانتظام.
- تقليل الاعتماد على إضافات الكاش الثقيلة أثناء الدفع.
- اختبار السلة بعد أي تغييرات على القالب أو الإضافات.
الخلاصة
مشكلة Cart is Empty في WooCommerce غالبًا ما تكون نتيجة تعارضات في الكاش أو مشاكل الجلسات والكوكيز. الحل يبدأ بالخطوات البسيطة مثل تعطيل الكاش وإعادة حفظ الروابط الدائمة، ثم الانتقال إلى الحلول المتقدمة مثل ضبط إعدادات السيرفر وفحص قاعدة البيانات.
