NexaCurrency Pro إضافة لتعدد العملات في WooCommerce. وظيفة هذا النوع من الإضافات هي عرض الأسعار بعملات مختلفة مع إدارة أسعار الصرف وتفضيل العملة، لكن نجاحه في متجر فعلي يعتمد على التوافق مع القالب والكاش وCheckout وبوابات الدفع وطريقة تخزين الأسعار.
الخلاصة: لا تختَر Currency Switcher بناءً على عدد المميزات أو ادعاءات السرعة فقط. اختبر تحويل السعر في صفحة المنتج والسلة وCheckout، اختبر الكاش والمستخدمين المسجلين، ثم تحقق من العملة التي تُرسل إلى بوابة الدفع قبل استخدامه على Production.
لماذا تحتاج المتاجر إلى تعدد العملات؟
عندما يبيع المتجر لأكثر من سوق، عرض السعر بعملة مألوفة للمستخدم قد يقلل الحاجة إلى التحويل اليدوي ويساعده على فهم القيمة. لكن العملة المعروضة لا تعني بالضرورة أن بوابة الدفع ستعالج المعاملة بالعملة نفسها؛ لذلك يجب التفريق بين Display currency وTransaction currency.
ما الوظائف التي يقدمها Currency Switcher عادة؟
- إضافة أكثر من عملة.
- تحديد سعر صرف يدوي أو تلقائي.
- تغيير العملة من واجهة المتجر.
- حفظ اختيار المستخدم خلال الجلسة أو Cookie.
- اختيار عملة افتراضية حسب الموقع عند دعم Geo-location.
- تنسيق رمز العملة وموقعه.
- تحويل الأسعار في صفحات المنتجات والسلة وCheckout.
الوظائف المنشورة لـNexaCurrency Pro
بحسب المواصفات المخزنة حاليًا للمنتج والمقال، تشمل وظائف الإضافة إدارة عملات متعددة، أسعار صرف تلقائية أو مخصصة، حفظ تفضيل العملة، Geo-location، إعدادات للمظهر، وصفحة Diagnostics. هذه القائمة يجب أن تُراجع مع الإصدار المثبت فعليًا لأن وظائف الإضافات قد تتغير مع التحديثات.
1. العملات المتعددة
الوظيفة الأساسية هي إضافة عملات إلى المتجر وتحديد العملة الأساسية وطريقة عرض العملات الأخرى. عند الاختبار، لا تكتفِ بصفحة المنتج؛ افحص السعر في Related Products وCart وMini Cart وCheckout والOrder details.
2. أسعار الصرف
هناك مساران شائعان:
- Automatic rates: تعتمد على مزود بيانات خارجي وتحديث دوري.
- Custom rates: يحدد مدير المتجر السعر يدويًا لكل عملة.
في الحالتين يجب تحديد وقت آخر تحديث، ماذا يحدث عند فشل مزود البيانات، وهل توجد قيمة Fallback تمنع ظهور سعر فارغ أوخاطئ.
3. رسوم بوابات الدفع وفروق العملة
سعر الصرف المعروض في المتجر لا يضمن أن المبلغ النهائي الذي يظهر في كشف البطاقة سيكون مطابقًا؛ البنك أوGateway قد يطبق Conversion أوFees خاصة به. لذلك لا تستخدم Custom Rate كوسيلة لإخفاء رسوم عن العميل، واعرض أي رسوم يتحملها بصورة واضحة قبل تأكيد الطلب.
4. Geo-location
الكشف الجغرافي يعتمد عادة على IP أوخدمة GeoIP. اختبر الحالات التالية:
- زائر من دولة مدعومة.
- VPN أوProxy.
- عنوان IP غير معروف.
- Cache أمامي أوCDN يشارك الصفحة بين دول مختلفة.
- تغيير المستخدم للعملة يدويًا بعد الكشف التلقائي.
يجب أن يظل الاختيار اليدوي متاحًا عندما لا يعكس IP عملة المستخدم الحقيقية.
5. حفظ تفضيل العملة
إذا كانت الإضافة تحفظ العملة في Cookie أوSession، اختبر:
- الانتقال بين صفحات المنتج والتصنيف.
- إغلاق المتصفح والعودة إذا كان الحفظ مستمرًا.
- Logged-in وGuest users.
- Private browsing.
- توافق Cookie مع Cache/CDN.
6. التوافق مع Cache
هذه من أهم نقاط الاختبار. Page Cache قد يعرض HTML تم إنشاؤه لعملة مختلفة إذا لم يفهم Variation المطلوبة. استخدم متصفحًا جديدًا واختبر أكثر من عملة، ثم افحص هل السعر القديم يظهر بعد التبديل أوبعد تفريغ الكاش.
7. WooCommerce Cart وCheckout
اختبر أن العملة والسعر يظلان متسقين خلال الرحلة:
- افتح منتجًا.
- غيّر العملة.
- أضفه إلى السلة.
- عدّل الكمية.
- طبّق كوبونًا.
- انتقل إلى Checkout.
- راجع Tax/Fee/Total.
- نفّذ معاملة اختبار مسموحة في بيئة Sandbox للبوابة المستخدمة.
8. المنتجات المتغيرة
في Variable Products يجب اختبار السعر قبل اختيار Variation وبعدها، Sale price، المنتجات غير المتاحة، وتحديث السعر عبر JavaScript. أي Currency Switcher لا يتعامل مع variation price events بصورة صحيحة قد يعرض قيمة قديمة.
9. الضرائب والقسائم
راجع هل الضريبة والقسيمة يتم حسابهما على السعر الأساسي ثم العرض بالعملة المختارة، أم توجد آلية مختلفة. المهم أن Subtotal وDiscount وTax وTotal تظل متسقة ولا يحدث تقريب متعارض.
10. التقريب والأرقام العشرية
بعض العملات تستخدم منزلتين عشريتين، وبعض سيناريوهات المتجر قد تحتاج قواعد مختلفة. افحص rounding في Line item والSubtotal والTotal حتى لا يظهر فرق بسيط بين السلة والدفع أوبين الموقع والبوابة.
11. المظهر وAccessibility
مبدل العملة يجب أن يعمل بالكيبورد وأن يكون اسمه واضحًا لقارئ الشاشة، وألا يعتمد على العلم وحده لتحديد العملة. استخدم Currency code مثل EGP أوSAR أوUSD إلى جانب الاسم عند الحاجة.
12. الأداء
لا يمكن ضمان أن إضافة ما «خفيفة 100%» دون قياس. قارن الصفحة قبل وبعد التفعيل:
- عدد CSS/JS requests.
- TTFB.
- استعلامات قاعدة البيانات.
- REST/AJAX calls.
- LCP وINP على الصفحات الحرجة.
اختبر Shop وProduct وCart وCheckout بصورة منفصلة.
13. التوافق مع القوالب وPage Builders
لا تعتمد على عبارة «متوافقة مع كل القوالب». اختبر القالب الفعلي وإصدار WooCommerce الحالي، خاصة Mini Cart وPrice HTML وQuick View وProduct loops إذا كان القالب يغيّر Markup وAJAX.
14. Diagnostics
إذا كانت النسخة المثبتة توفر صفحة Diagnostics، استخدمها كمصدر إضافي للمعلومات وليس بديلًا عن Logs وNetwork وWooCommerce Status وQuery Monitor عند الحاجة. التشخيص الجيد يجب أن يعرض بيانات قابلة للتحقق لا مجرد رسالة «كل شيء سليم».
15. Checklist قبل التشغيل
- Backup أوStaging.
- اختبار عملتين على الأقل.
- Simple وVariable Product.
- Sale price.
- Coupon.
- Tax/Fee.
- Cart/Mini Cart.
- Checkout.
- Gateway Sandbox إن توفر.
- Cache/CDN.
- Geo-location وVPN.
- Guest/Logged-in.
- Mobile/Keyboard.
متى لا تحتاج Currency Switcher؟
إذا كان المتجر يبيع في دولة واحدة وبعملة واحدة، أوكانت بوابة الدفع لا تدعم العملات المطلوبة، قد تضيف الميزة تعقيدًا بلا فائدة. حدد الأسواق وطرق الدفع أولًا ثم قرر.
الخلاصة
NexaCurrency Pro تمثل أحد حلول تعدد العملات في WooCommerce، لكن تقييمها يجب أن يتم بالطريقة نفسها التي تُقيّم بها أي إضافة مالية: وظائف موثقة، اختبار على نسخة المتجر الفعلية، توافق مع Cache وCheckout والGateway، وقياس للأداء. صفحة المقال هدفها شرح طريقة التقييم والاختبار؛ أما بيانات الترخيص والسعر والإصدار الحالي فتظل بيانات منفصلة قابلة للتغير.

