- סטטוס
- נפתר
- דווח עבור
- WPML String Translation 2.4.2
- נפתר בגרסה
- WPML String Translation 2.4.2.1
סקירה כללית של התקלה
בעת שימוש ב־WPML Multilingual & Multicurrency for WooCommerce 3.8.6 עם WPML 3.5.3, מוצגות (או נרשמות ביומן) שגיאות מסוימות בעמוד אישור ההזמנה, לאחר ביצוע הזמנה בשפה משנית.
הודעת השגיאה דומה לזו שמוצגת להלן:
PHP Notice: Undefined index: order-received in ../wp-content/plugins/woocommerce-multilingual/inc/class-wcml-endpoints.php on line 155
בנוסף להודעת השגיאה, במקום העמוד “הזמנה התקבלה” עם פרטי ההזמנה, מוצג למשתמשים העמוד “קופה” המתורגם ללא תוכן כלשהו.

למרות שההזמנות מבוצעות ונשלחות הודעות דוא”ל, הלקוחות עלולים להתבלבל, לחשוב שההזמנה לא עברה ולשלוח הזמנות כפולות.
גילינו שזה נובע משינוי ב־WPML תרגום מחרוזות 2.4.2. תיקון כבר נמצא בדרך, אך עלינו לבדוק אותו היטב לפני שנשחרר עדכון.
פתרון עוקף
דרך אחת לתקן זאת היא להשתמש בגרסת בטא 2.4.2.1-b1 של WPML תרגום מחרוזות. היא מטפלת רק בבעיה הספציפית הזו ולא אמורה להשפיע על שום דבר אחר. עם זאת, מדובר בגרסת בטא ולכן מומלץ לנקוט זהירות: גבה את האתר שלך ורצוי שתבדוק אותה תחילה בסביבה שאינה אתר פעיל.
ישנו פתרון עוקף אפשרי נוסף שבו תוכל להשתמש באופן זמני ושלא אמור להשפיע יותר מדי על חוויית המשתמש. פתרון עוקף זה כולל סימון של המחרוזת התואמת לנקודת הקצה ‘order-received’ כלא מתורגמת. אינך צריך למחוק את המחרוזת אלא רק לבטל את הסימון של תיבת הסימון ‘התרגום הושלם’. להלן השלבים למקרה שבו אנגלית היא שפת ברירת המחדל שלך. השלבים זהים אם האתר שלך משתמש בשפת ברירת מחדל שונה.
- עבור אל WPML -> תרגום מחרוזות
- חפש את ‘order-received’ או נווט לדומיין ‘WooCommerce Endpoints’ ומצא את המחרוזת ‘order-received’.
- הרחב את הקטע ‘תרגומים’ עבור המחרוזת ‘order-received’
- בטל את הסימון של תיבת הסימון ‘התרגום הושלם’ ולחץ על ‘שמירה’ עבור כל השפות

לאחר מכן, העמוד ‘Order Received’ שלך עדיין יתורגם. רק שמחרוזת נקודת הקצה ב־URL לא תתורגם.