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

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

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

تؤثر المزامنة المقتصرة على المحرر فقط على عمليات الحفظ من محرر منتجات WooCommerce. وهي الشاشة التي تشعر فيها بالبطء.
وهي لا تغيّر:
لا تتأثر مسارات عمل المترجمين.
بعد التحديث، اذهب إلى WPML → إعدادات → WCML. سترى خيار Variation translation sync on product save. بدّله إلى Only sync variations edited in the editor وانقر على احفظ التغييرات.

احفظ أي منتج لتأكيد ظهور إشعار ما بعد الحفظ.
يستخدم العديد منكم نظاماً مستمراً للتخزين المؤقت للكائنات مثل Redis أو Object Cache Pro. باستخدام أنظمة التخزين المؤقت هذه، سيتم تحميل صفحات المنتجات التي تحتوي على العديد من المراجعات بشكل أسرع وبصورة ملحوظة بعد هذا التحديث.
غيّرنا طريقة تعامل WCML مع التخزين المؤقت لمراجعات المنتجات. في السابق، كان يمسح جزءاً من التخزين المؤقت للكائنات مع كل عرض للمنتج. أما الآن فهو يعمل مع التخزين المؤقت للكائنات بدلاً من مسحه.
كان WCML يعيد حساب إجماليات سلة التسوق في كل صفحة يزورها المتسوق المسجل الدخول. شمل ذلك صفحات المنتجات، وصفحات الحساب، وأرشيفات المتجر. وكان هذا يحدث حتى عندما لا يتغير أي شيء في سلة التسوق.
بدءاً من هذا الإصدار، نعيد الحساب فقط عندما تتغير العملة أو أسعار الصرف أو محتويات سلة التسوق فعلياً. وفي كل صفحة أخرى، لا يتدخل WCML في الأمر.
يطلق WooCommerce بالفعل طلب تحديث واحداً لسلة التسوق في بداية كل جلسة تسوق. يحافظ هذا الطلب على دقة سلة التسوق المصغرة.
كان WCML يطلق طلباً ثانياً عند كل تحميل للصفحة. وكان يطلقه حتى عندما تكون سلة التسوق فارغة.
تمت إزالة هذا الطلب الثاني في الإصدار 5.5.6. طلبات أقل في الخلفية. حِمل أقل على خادمك.
بسّطنا كيفية التعامل مع صور معرض المنتجات المترجمة.
في السابق، كان العمل يُنجز مرتين. مرة عند حفظ المنتج أو ترجمته. ثم مرة أخرى عند كل عرض للصفحة. تمت إزالة خطوة عرض الصفحة. وأصبحت البيانات المحفوظة عند ترجمة المنتج هي المصدر الموثوق به الآن.
النتيجة على موقعك هي نفسها. ولكن بعدد استعلامات أقل.
أبلغ بعضكم عن بطء شديد في تحميل صفحات المنتج الواحد التي تحتوي على مئات الاختلافات. وقد بحثنا في الأمر. كان لدى WooCommerce 10.4.x مشكلة أداء خاصة به أدت إلى تضخيم البطء بشكل كبير. وقد أصلح الإصدار WooCommerce 10.7 هذه المشكلة منذ ذلك الحين.
إذا واجهت هذا في متجرك، فحدّث إلى WooCommerce 10.7 أو الإصدارات الأحدث جنباً إلى جنب مع WCML 5.5.6. هذا هو المسار الأسرع للمضي قدماً.
تتيح بعض المتاجر للغات الثانوية العودة إلى اللغة الافتراضية عندما لا يكون المنتج قد تُرجم بعد. في تلك المتاجر، كانت الاختلافات في منتج غير مترجم تختفي من القائمة المنسدلة. أصبحت الآن تظل مرئية. وتعود إلى اللغة الافتراضية، كما يَعِد الإعداد بذلك.
تضيف سمة جديدة إلى منتج مترجم بالفعل. تتوقع أن تعكس أعداد Filter by attribute في صفحة المتجر المترجمة هذا التغيير. لم تكن تفعل ذلك، حتى هذا الإصدار. كان متجر اللغة الأصلية يُحدَّث. بينما المتجر المترجم لم يكن كذلك.
يقوم WCML الآن بمسح التخزين المؤقت الصحيح لـ WooCommerce بعد مزامنة السمات مع الترجمات. وبذلك يظل كلا المتجرين متطابقين.
يمكنك وضع الكود المختصر [currency_switcher] أكثر من مرة في نفس الصفحة. على سبيل المثال، في الترويسة ومرة أخرى في التذييل. كان مؤشر التحميل يظهر فقط على المبدل الأخير. بدءاً من هذا الإصدار، سيظهر على جميع المبدلات عندما يغيّر العميل العملة.
من المقرر إصدار WooCommerce 10.8 يوم الثلاثاء، 26 مايو 2026. اختبرنا WCML 5.5.6 للعمل معه. وتم تحديد موعد إصدارنا في اليوم التالي. الإصدار الذي تثبته هو الإصدار الذي تحققنا من توافقه مع بنية WooCommerce المُصدرة.
كالمعتاد، نطرح هذا الإصدار تدريجياً. إذا كنت ترغب في التحديث على الفور:
نود أن نعرف كيف تعمل المزامنة المقتصرة على المحرر في متجرك. نحن مهتمون بشكل خاص إذا كان لديك كتالوج كبير يحتوي على العديد من الاختلافات والعديد من اللغات. اترك تعليقاً بالأسفل أو اطرح استفسار دعم. وأخبرنا بالنتائج التي تقيسها.