لقد أصدرنا للتو إصدار WPML Multilingual & Multicurrency for WooCommerce 5.5.6. يركز هذا الإصدار على الأداء، حيث يستهدف إحدى الشكاوى الأكثر شيوعًا التي نسمعها من أصحاب المتاجر؛ فقد كانت عملية حفظ منتج متغير في محرر WooCommerce بطيئة بمجرد أن يحتوي الكتالوج الخاص بك على العديد من الأنواع والعديد من اللغات. هذا الإصدار يعالج تلك المشكلة.
لماذا كانت عملية حفظ المنتجات المتغيرة بطيئة؟
عندما تقوم بحفظ منتج، يعمل WPML Multilingual & Multicurrency for WooCommerce (WCML) على إبقاء كل ترجمة متزامنة مع الأصل. يشمل ذلك الأسعار، والسمات، والمخزون، والأنواع، والبيانات الأخرى ذات الصلة.
في موقع يحتوي على منتج واحد ولغة واحدة، يكون هذا العمل غير مرئي. أما في متجر يحتوي على 100 نوع بسبع لغات، فإن عملية الحفظ نفسها تقوم بهدوء بإجراء مئات التحديثات لقاعدة البيانات. ومعظم هذه التحديثات تخص بيانات الترجمة التي لم تتغير في الواقع.
كان هذا منطقيًا كضمان للأمان، لضمان عدم خروج أي شيء عن المزامنة أبدًا. ولكنه كان يعني أيضًا أن تصحيح خطأ مطبعي يكلف نفس جهد استيراد منتج جديد تمامًا. وقد شعرت المتاجر ذات الكتالوجات الكبيرة بذلك، وأخبرنا الكثير منكم عن هذا الأمر.
يغير إصدار WCML 5.5.6 ذلك.
جديد: وضع المزامنة بنطاق المحرر
لقد أضفنا إعدادًا جديدًا يسمى مزامنة ترجمة الأنواع عند حفظ المنتج، وله وضعان.
المزامنة الكاملة (افتراضي، لم يتغير)
يستمر WCML في القيام بما يفعله اليوم؛ حيث تقوم كل عملية حفظ بمزامنة كل نوع في كل لغة. هذا هو أقوى ضمان لبقاء الترجمات متوافقة مع المصدر.
تظل المزامنة الكاملة هي الوضع الافتراضي بعد الترقية. لن يتغير موقعك إلا إذا اخترت خلاف ذلك.
المزامنة بنطاق المحرر (جديد، اختياري)
في هذا الوضع، يؤدي الحفظ من محرر WooCommerce فقط إلى مزامنة الأنواع التي قمت بتحريرها بالفعل.
لقد أجرينا اختبارًا على منتج يحتوي على 9 أنواع مترجمة إلى 19 لغة، وقمنا بقياس دورة الحفظ الكاملة — من النقر على حفظ إلى أن يصبح المحرر قابلًا للاستخدام مرة أخرى. عند تحديث وصف المنتج فقط، انخفضت مساهمة WCML + WPML من 2.08 ثانية إلى 1.42 ثانية، أي بنسبة تقليل بلغت 32 %. لم يتأثر WooCommerce وWordPress، وانخفض إجمالي وقت الحفظ من 5.52 ثانية إلى 4.86 ثانية — وهو تحسن إجمالي بنسبة 12 %.
وقت المعالجة لتحديث منتج

ستختلف نتائجك اعتمادًا على WooCommerce، والقالب الخاص بك، والمستضيف، والإضافات الأخرى. ستشهد المتاجر ذات الكتالوجات الكبيرة واللغات المتعددة أكبر المكاسب.
ماذا عن الأنواع التي لم تلمسها؟
نعلم أن هذا هو السؤال الأول. هناك شبكتا أمان.
إشعار ما بعد الحفظ. عند تشغيل المزامنة بنطاق المحرر، تظهر لك رسالة تنبيه عند كل عملية حفظ. تسرد الرسالة عدد الأنواع التي تم تخطيها، كما تمنحك زرًا بنقرة واحدة: فرض تحديث جميع ترجمات الأنواع. وبهذه الطريقة، تكون المزامنة الكاملة دائمًا على بُعد نقرة واحدة، ولن تضطر إلى تبديل الأوضاع للحصول عليها.

تنبيه عندما تقوم المزامنة الكاملة بعمل غير ضروري. إذا بقيت على وضع المزامنة الكاملة، فنحن نراقب عمليات الحفظ التي بذلت الكثير من الجهد دون تغييرات فعلية. عندما نرى هذا النمط، نقترح تبديل الأوضاع. يظهر التنبيه فقط في المنتجات الكبيرة؛ حيث نستخدم حدًا أدنى (الأنواع × اللغات ≥ 120). أقل من ذلك، لا تكون التكلفة ملحوظة، لذا لا نزعجك.

أين تنطبق المزامنة بنطاق المحرر
تؤثر المزامنة بنطاق المحرر فقط على عمليات الحفظ من محرر منتجات WooCommerce. هذه هي الشاشة التي تشعر فيها بالبطء.
وهي لا تغير:
- لوحة الترجمة
- ترجمة كل شيء آليًا
- عمليات استيراد CSV، واستدعاءات API، والطرق البرمجية الأخرى لتحرير المنتجات
- المزامنة الخلفية بعد عودة مهمة من خدمة الترجمة
لا تتأثر سير عمل المترجمين.
كيفية تشغيل المزامنة بنطاق المحرر
بعد التحديث إلى الإصدار 5.5.6، انتقل إلى WooCommerce ← WCML وانقر على علامة تبويب الإعدادات. سترى خيار مزامنة ترجمة الأنواع عند حفظ المنتج. قم بتبديله إلى مزامنة الأنواع التي تم تحريرها في المحرر فقط وانقر على حفظ التغييرات.

احفظ أي منتج للتأكد من ظهور إشعار ما بعد الحفظ.
المزيد من تحسينات الأداء
تحميل صفحات المنتج بشكل أسرع في المتاجر التي تستخدم التخزين المؤقت للكائنات (Object Caching)
يستخدم الكثير منكم تخزينًا مؤقتًا مستمرًا للكائنات مثل Redis أو Object Cache Pro. مع هذه الأنواع من التخزين المؤقت، سيتم تحميل صفحات المنتجات التي تحتوي على العديد من المراجعات بشكل أسرع ملحوظ بعد هذا التحديث.
لقد غيرنا كيفية تعامل WCML مع التخزين المؤقت لمراجعات المنتج. سابقًا، كان يمسح جزءًا من التخزين المؤقت للكائنات عند كل عرض للمنتج. الآن أصبح يعمل مع التخزين المؤقت للكائنات بدلاً من مسحه.
حسابات سلة التسوق تعمل فقط عند حدوث تغيير
كان WCML يعيد حساب إجماليات سلة التسوق في كل صفحة يزورها المتسوق المسجل دخوله، وشمل ذلك صفحات المنتجات، وصفحات الحساب، وأرشيف المتجر، حتى لو لم يتغير أي شيء في السلة.
بدءًا من هذا الإصدار، نعيد الحساب فقط عندما تتغير العملة، أو أسعار الصرف، أو محتويات السلة فعليًا. وفي كل صفحة أخرى، يظل WCML بعيدًا عن الطريق.
سلوك أكثر سلاسة لسلة التسوق المصغرة
يقوم WooCommerce بالفعل بإرسال طلب واحد لتحديث السلة في بداية كل جلسة تسوق، وهذا الطلب يحافظ على دقة سلة التسوق المصغرة.
كان WCML يرسل طلبًا ثانيًا عند تحميل كل صفحة، حتى عندما كانت السلة فارغة.
هذا الطلب الثاني قد أزيل في الإصدار 5.5.6. طلبات خلفية أقل تعني حملاً أقل على خادمك.
جهد أقل خلف صور المنتجات المترجمة
لقد قمنا بتبسيط كيفية التعامل مع صور معرض المنتجات المترجمة.
سابقًا، كان العمل يتم مرتين؛ مرة عند حفظ المنتج أو ترجمته، ومرة أخرى عند كل عرض للصفحة. تم إزالة مرحلة عرض الصفحة، وأصبحت البيانات المحفوظة عند ترجمة المنتج هي المصدر الموثوق للمعلومات.
النتيجة على موقعك هي نفسها، ولكن بطلبات أقل.
صفحات المنتجات المتغيرة الكبيرة: اربط هذا التحديث بأحدث إصدار من WooCommerce
أبلغ بعضكم عن تحميل بطيء جدًا لصفحات المنتجات الفردية التي تحتوي على مئات الأنواع. لقد بحثنا في الأمر، وتبين أن إصدار WooCommerce 10.4.x كان يعاني من مشكلة في الأداء أدت إلى تضخيم التباطؤ بشكل كبير. وقد قام إصدار WooCommerce 10.7 بإصلاحها منذ ذلك الحين.
إذا واجهت هذا في متجرك، فقم بالتحديث إلى WooCommerce 10.7 أو أحدث مع WCML 5.5.6. هذا هو أسرع طريق للمضي قدمًا.
إصلاحات مفيدة
الأنواع تعود الآن إلى اللغة الافتراضية
تسمح بعض المتاجر للغات الثانوية بالعودة إلى اللغة الافتراضية عندما لا يكون المنتج قد تُرجم بعد. في تلك المتاجر، كانت الأنواع في المنتج غير المترجم تختفي من القائمة المنسدلة. الآن تظل مرئية وتعود إلى اللغة الافتراضية، كما يعد الإعداد بذلك.
تحديث أعداد الفلاتر في صفحات المتجر المترجمة
عندما تضيف سمة جديدة لمنتج مترجم بالفعل، تتوقع أن تعكس أعداد التصفية حسب السمة في صفحة المتجر المترجمة هذا التغيير. لم تكن تفعل ذلك حتى هذا الإصدار؛ حيث كان المتجر باللغة الأصلية يتحدث، بينما لا يتحدث المتجر المترجم.
يقوم WCML الآن بمسح التخزين المؤقت الصحيح لـ WooCommerce بعد مزامنة السمات مع الترجمات، ليبقى كلا المتجرين متوافقين.
أيقونات التحميل في كل محولات العملات
يمكنك وضع الكود القصير [currency_switcher] أكثر من مرة في نفس الصفحة، على سبيل المثال في الترويسة والتذييل. كانت أيقونة التحميل تظهر فقط في المحول الأخير. بدءًا من هذا الإصدار، ستظهر في جميع المحولات عندما يقوم العميل بتغيير العملة.
التوافق مع WooCommerce 10.8
من المقرر إصدار WooCommerce 10.8 يوم الثلاثاء 26 مايو 2026. لقد اختبرنا WCML 5.5.6 معه، وتم توقيت إصدارنا ليكون في اليوم التالي. الإصدار الذي ستقوم بتثبيته هو الذي تحققنا منه مقابل نسخة WooCommerce الصادرة.
التحديث والتعليقات
كالعادة، نقوم بطرح هذا الإصدار تدريجيًا. إذا كنت ترغب في التحديث على الفور:
- في لوحة تحكم موقعك، انتقل إلى إضافات ← أضف إضافة جديدة. انقر فوق علامة التبويب تجاري .
- انقر على التحقق من وجود تحديثات.
- سيظهر WPML Multilingual & Multicurrency for WooCommerce 5.5.6 في القائمة. قم بالتحديث من هناك.
نود أن نسمع كيف يتصرف وضع المزامنة بنطاق المحرر في متجرك. نحن مهتمون بشكل خاص إذا كان لديك كتالوج كبير يحتوي على العديد من الأنواع والعديد من اللغات. اترك تعليقًا أدناه أو افتح تذكرة في منتدى الدعم الخاص بنا، وأخبرنا بالنتائج التي تقيسها.