WPML
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 );
    	}

Tất cả các lỗi đã ghi nhận →