סקירת התקלה
במקרים מסוימים, בעת שימוש בתבניות עמוד מותאמות אישית, התבנית שנבחרה לא מוחלת כראוי על עמודים מתורגמים.
פתרון עוקף
בעיה זו תוקנה ב־WPML 4.9.3. עדכון פותר זאת באתר שלך, לכן אתה זקוק לפתרון העוקף הזה רק אם עדיין אינך יכול לעדכן.
כדי להבטיח שתבנית העמוד המותאמת אישית מוחלת כראוי על העמוד המתורגם, בצע את השלבים הבאים:
- מחק את הרשומות הרלוונטיות גם מטבלת
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 שולח גם את העמוד וגם את התבנית לתרגום באותו הזמן.
- אם תרגום העמוד מסתיים לפני תרגום התבנית, התבנית המתורגמת עדיין אינה קיימת כדי שיהיה ניתן לשייך אותה. לכן העמוד המתורגם מקבל בסופו של דבר את תבנית ברירת המחדל במקום זאת.
- כדי לפתור זאת, לאחר שתרגום התבנית הושלם ופורסם, שלח מחדש את העמוד המתורגם לתרגום כדי שהוא יקבל כראוי את התבנית שתורגמה לאחרונה.