- Trạng thái
- Đang mở
- Được báo cáo cho
- WPML Multilingual CMS 4.6.13
- Thẻ chủ đề
- Bug
Tổng quan về lỗi
Các trường tùy chỉnh có các khóa phức tạp (ví dụ: chứa các ký tự đặc biệt như dấu gạch đứng |) có thể không được dịch đúng cách trong WPML. Điều này dẫn đến việc các giá trị đã dịch được lưu trữ dưới dạng mảng đã tuần tự hóa thay vì các chuỗi đơn giản, gây ra sự cố khi hiển thị các giá trị trường tùy chỉnh đã dịch.
Giải pháp tạm thời
Vui lòng đảm bảo có một bản sao lưu toàn bộ trang web trước khi tiếp tục.
- Mở tệp …/sitepress-multilingual-cms/classes/translation-jobs/class-wpml-element-translation-package.php.
- Tìm đến dòng 260.
- Thay thế:
private function remove_field_name_from_start( $field_name, $field_id_string ) { return preg_replace( '#' . $field_name . '-?#', '', $field_id_string, 1 ); } - Bằng:
private function remove_field_name_from_start( $field_name, $field_id_string ) { return preg_replace( '#' . preg_quote($field_name) . '-?#', '', $field_id_string, 1 ); }