- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual CMS 4.6.9
- Đã giải quyết trong
- WPML 4.9.3
- Thẻ chủ đề
- Bug
Tổng quan về lỗi
Trong một số trường hợp, khi sử dụng các mẫu trang tùy chỉnh, mẫu đã chọn không được áp dụng chính xác cho các trang đã dịch.
Giải pháp tạm thời
Để đảm bảo mẫu trang tùy chỉnh được áp dụng chính xác cho trang đã dịch, hãy làm theo các bước sau:
- Xóa các mục liên quan khỏi cả hai bảng
wp_postsvàicl_translations.
- Chuyển sang ngôn ngữ phụ bằng thanh trên cùng của trang quản trị, sau đó đi tới Giao diện > Trình chỉnh sửa, tìm mẫu đã dịch và xóa nó.
- Trong WPML > Cài đặt > URL trang, bật “Dịch” cho Dịch slug (điều này đảm bảo slug của mẫu được đưa vào bản dịch thay vì được tạo tự động từ tiêu đề).
- Mở tệp: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- Khoảng dòng 56, hãy chuyển dòng sau thành chú thích:
$postData['post_name'] = $post->post_name;
- Gửi lại mẫu để dịch.
- Khi dịch mẫu, hãy đảm bảo slug chính xác và bao gồm slug của trang hoặc phân loại đã dịch.
Tình huống ngoại lệ
Có một trình tự cụ thể mà trong đó một trang đã dịch có thể không được liên kết với mẫu đã dịch:
- Khi bạn tạo một mẫu tùy chỉnh mới trực tiếp trong khi tạo một trang mới (bằng cách chọn “Mẫu > Tạo mẫu mới” ở thanh bên phải), cả trang và mẫu của nó đều được xuất bản đồng thời.
- Nếu tính năng dịch tự động (“Dịch mọi thứ”) được bật, WPML sẽ gửi cả trang và mẫu đi dịch cùng một lúc.
- Nếu bản dịch trang hoàn thành trước bản dịch mẫu, mẫu đã dịch vẫn chưa tồn tại để được gán. Vì vậy, trang đã dịch cuối cùng sẽ sử dụng mẫu mặc định.
- Để giải quyết vấn đề này, sau khi bản dịch mẫu được hoàn thành và xuất bản, hãy gửi lại trang đã dịch để dịch nhằm giúp nó nhận đúng mẫu mới được dịch.