- סטטוס
- נפתר
- נפתר בגרסה
- 4.0.0
סקירה כללית של התקלה
לפני 4.0.0, WPML ניסה להתאים את הלוכסן המסיים ל־URL הנכנס במהלך ההמרה. למרבה הצער, לוגיקה זו אינה מותאמת לכל המקרים.
החל מ־4.0.0, ה־URL המומר יתאים להתנהגות הסטנדרטית של WordPress, שהיא כדלקמן:
- כאשר אין נתיב ואין שאילתה, WPML ינסה להתאים את ה־URL הנכנס (לדוגמה http://wpml.com => http://wpml.fr, או http://wpml.com/ => http://wpml.fr/). עם זאת, WordPress בדרך כלל מפיק את ה־URL של דף הבית ללא לוכסן מסיים כלשהו.
- כאשר אין נתיב אך יש שאילתה, תמיד יהיה לוכסן מסיים (לדוגמה http://wpml.com?foo=bar => http://wpml.fr/?foo=bar).
- כאשר יש נתיב (לא קובץ), הלוכסן המסיים תלוי בפורמט הקישור הקבוע.
- כאשר יש נתיב המצביע אל קובץ, אין להוסיף לוכסן מסיים (ללא קשר לפורמט הקישור הקבוע). לדוגמה: http://wpml.com/wp-content/uploads/hello.csv.
פתרון עוקף
לשינוי זה עשויות להיות תופעות לוואי בלתי צפויות בתבניות או בתוספי צד שלישי.
אנו ממליצים בחום להימנע משרשור מחרוזות לבניית כתובות URL, ולהשתמש בפונקציות כגון:
- add_query_arg לבניית שאילתת ה־URL.
- http_build_url אם פונקציה זו זמינה בשרת (עם זאת, WPML מספק polyfill).
- trailingslashit, untrailingslashit להוספה או להסרה של לוכסנים סופיים.
לדוגמה, הקוד הבא:
$url = get_home_url() . '/' . $path;
יש להחליף אותו בקוד הבא:
$url = trailingslashit( get_home_url() ) . $path;