- סטטוס
- נפתר
- דווח עבור
- WPML Multilingual CMS 4.6.9
- נפתר בגרסה
- WPML 4.9.3
- תגיות נושא
- Bug
סקירה כללית של התקלה
במקרים מסוימים, בעת שימוש בתבניות עמוד מותאמות אישית, התבנית שנבחרה לא מוחלת כראוי על עמודים מתורגמים.
פתרון עוקף
כדי להבטיח שתבנית העמוד המותאמת אישית מוחלת כראוי על העמוד המתורגם, בצע את השלבים הבאים:
- מחק את הרשומות הרלוונטיות גם מטבלת
wp_postsוגם מטבלתicl_translations.
- החלף לשפה המשנית באמצעות סרגל הניהול העליון, ולאחר מכן עבור אל עיצוב > עורך, מצא את התבנית המתורגמת, ומחק אותה.
- ב־WPML > הגדרות > כתובת URL של עמוד, הפעל את “תרגום” עבור תרגום מזהה כתובת (פעולה זו מבטיחה שמזהה הכתובת של התבנית ייכלל בתרגום במקום להיווצר אוטומטית מהכותרת).
- פתח את הקובץ: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- בסביבות שורה 56, הפוך את השורה הבאה להערה:
$postData['post_name'] = $post->post_name;
- שלח מחדש את התבנית לתרגום.
- בעת תרגום התבנית, ודא שמזהה הכתובת נכון וכולל את מזהה הכתובת המתורגם של העמוד או הטקסונומיה.
תרחיש מקרה קצה
קיים רצף מסוים שבו עמוד מתורגם עשוי שלא להיות משויך לתבנית המתורגמת:
- כאשר אתה יוצר תבנית מותאמת אישית חדשה ישירות במהלך יצירת עמוד חדש (על ידי בחירה ב־”תבנית > צור תבנית חדשה” בסרגל הצד הימני), גם העמוד וגם התבנית שלו מפורסמים בו־זמנית.
- אם תרגום אוטומטי (”תרגם הכל“) מופעל, WPML שולח גם את העמוד וגם את התבנית לתרגום באותו הזמן.
- אם תרגום העמוד מסתיים לפני תרגום התבנית, התבנית המתורגמת עדיין אינה קיימת כדי שיהיה ניתן לשייך אותה. לכן העמוד המתורגם מקבל בסופו של דבר את תבנית ברירת המחדל במקום זאת.
- כדי לפתור זאת, לאחר שתרגום התבנית הושלם ופורסם, שלח מחדש את העמוד המתורגם לתרגום כדי שהוא יקבל כראוי את התבנית שתורגמה לאחרונה.