Cấu hình khả năng tương thích của WPML với các giao diện và plugin WordPress – Cài đặt và wpml-config.xml tùy chỉnh
WPML hoạt động ngay mà không cần cấu hình thêm với mọi giao diện và plugin WordPress phổ biến và lớn. Cài đặt WPML trên một trang web đang chạy Elementor, WooCommerce, Yoast, Gravity Forms, ACF – và việc dịch thuật sẽ hoạt động trơn tru. Bạn không cần phải chạm vào bất kỳ cài đặt nào trên trang này.
Trang này tồn tại dành cho những trường hợp còn lại: các giao diện và plugin ít phổ biến hơn, các phiên bản phát hành rất mới mà tác giả đã tung ra trước khi khả năng tương thích của WPML kịp cập nhật, và một số công cụ hỗ trợ chung cho các trang web gặp phải các triệu chứng cụ thể. Hầu hết khách hàng không bao giờ vào đây. Khi bạn vào đây, thường là do bộ phận Hỗ trợ của WPML đã chỉ cho bạn một nút chuyển đổi cụ thể hoặc một wpml-config.xml để dán vào.
Có hai trang phụ của mục Cài đặt đề cập đến khả năng tương thích, và trang này bao gồm cả hai. Cài đặt > Khả năng tương thích chứa các nút chuyển đổi cho các triệu chứng phổ biến. Cài đặt > Cấu hình XML tùy chỉnh là nơi bạn viết wpml-config.xml của riêng mình – được mô tả ở nửa sau của trang này. Giao diện người dùng cho các mặc định phổ biến nhất (tùy chọn dịch theo từng loại bài viết, theo từng phân loại, theo từng trường) nằm trên một trang Cài đặt riêng biệt được đề cập trong Những gì được dịch – và những gì không; hầu hết khách hàng sử dụng giao diện đó và chỉ đến đây khi nó không đáp ứng được những gì họ cần.
Các nút chuyển đổi khả năng tương thích
Mở WPML > Cài đặt > Khả năng tương thích. Trang này có bốn thẻ. Mỗi thẻ nhắm mục tiêu đến một lớp vấn đề tương thích cụ thể.
Tùy chọn bản địa hóa – Dành cho các giao diện và plugin có bản dịch không tải được
Khi một giao diện hoặc plugin đã bao gồm các bản dịch giao diện người dùng của riêng nó (các tệp .mo trong thư mục /languages/) nhưng các bản dịch đó không hiển thị trên trang web của bạn, thẻ Tùy chọn bản địa hóa có ba nút chuyển đổi giúp WPML tìm và áp dụng chúng.
- Tự động tải tệp
.mocủa giao diện bằngload_textdomain. Buộc WPML gọiload_textdomain()cho text domain của giao diện. Sử dụng khi các bản dịch của giao diện đã có trên ổ đĩa nhưng không xuất hiện. - Nhập textdomain. Ghi đè text domain được tự động phát hiện. Một số giao diện đăng ký text domain của chúng theo những cách không chuẩn; trường này cho phép bạn chỉ định rõ ràng text domain đó.
- Sử dụng text domain của giao diện hoặc plugin khi các lệnh gọi gettext không sử dụng chuỗi nguyên văn. Một cờ tương thích cho các giao diện/plugin sử dụng các lệnh gọi
__()với các đối số biến đổi thay vì các chuỗi nguyên văn. WPML không thể tự động phát hiện những lệnh gọi này và nút chuyển đổi này giúp nó vẫn áp dụng được các bản dịch.
Nếu bộ phận Hỗ trợ của WPML hướng dẫn bạn đến đây, họ sẽ cho bạn biết cần thiết lập nút chuyển đổi nào và textdomain nào.
Làm cho giao diện hoạt động đa ngôn ngữ
Điều chỉnh các ID cho chức năng đa ngôn ngữ. Một lớp tương thích dành cho các giao diện mã hóa cứng các giả định đơn ngôn ngữ (ví dụ: một giao diện lưu trữ “ID ảnh đại diện” một lần và sử dụng cùng một hình ảnh đó trên mọi ngôn ngữ).
Hầu hết các giao diện hiện đại tương thích với WPML đều không cần tính năng này. Các giao diện cũ hơn hoặc ít nhận biết WPML hơn đôi khi lại cần. Hãy bật tính năng này nếu bạn thấy các tham chiếu nội dung (hình ảnh, menu, mục nổi bật) bị rò rỉ sang các ngôn ngữ khác một cách không chính xác.
Lọc ngôn ngữ cho các hoạt động AJAX
Lưu trữ cookie ngôn ngữ để hỗ trợ lọc ngôn ngữ cho AJAX. Một số plugin sử dụng AJAX để lấy nội dung: danh sách sản phẩm được lọc, danh sách bài viết phân trang bằng AJAX, kết quả tìm kiếm khi bạn nhập. Nếu không có cookie ngôn ngữ, điểm cuối AJAX sẽ không biết phải phản hồi bằng ngôn ngữ nào và trả về kết quả sai ngôn ngữ.
Hãy bật cookie nếu bạn thấy triệu chứng này: khách truy cập trên trang tiếng Pháp nhận được kết quả tiếng Anh từ các phần được tải bằng AJAX. Đây là một bản sửa lỗi chỉ bằng một hộp kiểm cho toàn bộ một lớp lỗi.
Trang đăng nhập và đăng ký
Cho phép dịch các trang đăng nhập và đăng ký. /wp-login.php tích hợp sẵn của WordPress và màn hình đăng ký không nằm trong phần nội dung thông thường mà WPML dịch. Chúng nằm ngoài chuỗi mẫu của giao diện. Nút chuyển đổi này thêm chúng vào tập hợp các trang có thể dịch của WPML.
Nếu trang web của bạn chạy trên nginx, nút chuyển đổi này cũng yêu cầu phải tinh chỉnh cấu hình máy chủ. Trang này liên kết đến hướng dẫn nginx của WPML với khối cấu hình chính xác.
Các văn bản của giao diện và plugin – Cài đặt ở đây, trình quét ở nơi khác
Hai loại công việc xử lý chuỗi của giao diện/plugin được chia ra trên hai màn hình:
- Các cài đặt trên trang này. Chúng xử lý khả năng tương thích cho các bản dịch mà giao diện/plugin đã bao gồm sẵn:
load_textdomain, ghi đè textdomain, gettext không nguyên văn. - Trình quét nằm trên một màn hình riêng. Khi bạn cần tìm các chuỗi của giao diện và plugin chưa được đăng ký để dịch, hãy sử dụng màn hình Dịch văn bản quản trị. Có thể truy cập màn hình này từ tab Chuỗi trong phần Bản dịch dưới mục “không thấy các chuỗi bạn đang tìm kiếm?”.
Để biết toàn bộ quy trình làm việc quét chuỗi, hãy xem Dịch các chuỗi.
wpml-config.xml tùy chỉnh
Các giao diện và plugin tương thích với WPML đi kèm với một tệp wpml-config.xml để cho WPML biết chính xác những trường, loại bài viết, phân loại, shortcode và khóa meta nào của chúng có thể dịch được. WPML sẽ đọc tệp này khi kích hoạt. Đối với mọi giao diện và plugin phổ biến và lớn, điều này có nghĩa là việc dịch thuật sẽ hoạt động chính xác ngay mà không cần cấu hình thêm. Bạn không cần phải làm gì cả.
Khi wpml-config.xml đi kèm với giao diện hoặc plugin không đủ cho trang web của bạn, bạn có thể tự viết một tệp riêng. WPML sẽ áp dụng tệp đó đè lên những gì mà giao diện hoặc plugin cung cấp.
Khi nào bạn nên tự viết wpml-config.xml
Ba tình huống.
- Một trường bạn cần dịch không có trong tệp wpml-config.xml đi kèm. Tác giả của giao diện hoặc plugin đã không khai báo một trường tùy chỉnh là có thể dịch, nhưng bạn lại cần dịch nó trên trang web của mình.
- Một trường có mặc định sai. Tệp wpml-config.xml đi kèm đánh dấu một mục nào đó là Sao chép và bạn muốn là Dịch, hoặc ngược lại.
- Bạn đang xây dựng một giao diện hoặc plugin tùy chỉnh và bạn muốn khai báo hành vi dịch của nó từ trang Cài đặt của WPML thay vì đóng gói một tệp wpml-config.xml cùng với mã của bạn.
Trong mọi trường hợp, bộ phận Hỗ trợ của WPML có thể hướng dẫn bạn đến đây với đoạn mã wpml-config.xml chính xác để dán vào. Hầu hết đây là hành động do bộ phận Hỗ trợ hướng dẫn, đôi khi là do nhà phát triển tự thực hiện.
Tại sao nên chỉnh sửa wpml-config.xml trong trang quản trị của WPML thay vì trong tệp giao diện
Bạn có thể chỉnh sửa trực tiếp wpml-config.xml của riêng giao diện hoặc plugin. Nhưng thay đổi đó sẽ bị mất vào lần tiếp theo giao diện hoặc plugin cập nhật. Trình soạn thảo trong trang quản trị của WPML tại WPML > Cài đặt > Cấu hình XML tùy chỉnh sẽ xếp lớp tệp wpml-config.xml của bạn lên trên bất kỳ thứ gì mà giao diện hoặc plugin cung cấp, và không bị mất khi cập nhật. Đây là nơi thích hợp cho các tinh chỉnh dành riêng cho trang web.
Cấu trúc của một tệp wpml-config.xml
Trang này là một trình soạn thảo XML. Dán một khối <wpml-config>...</wpml-config>, lưu lại và WPML sẽ áp dụng tệp wpml-config.xml của bạn.
Một tệp wpml-config.xml tối giản khai báo một shortcode là có thể dịch được:
<wpml-config>
<shortcodes>
<shortcode>
<tag>add_to_cart_link</tag>
</shortcode>
</shortcodes>
</wpml-config>
Các loại phần tử bạn thường sẽ khai báo:
<custom-fields>. Đánh dấu một trường tùy chỉnh làtranslate,copy,copy-oncehoặcnothing.<custom-types>. Khai báo một loại nội dung tùy chỉnh là có thể dịch được.<taxonomies>. Khai báo một phân loại tùy chỉnh là có thể dịch được.<shortcodes>. Liệt kê các shortcode có nội dung mà WPML cần dịch.<custom-term-fields>. Dành cho siêu dữ liệu của thuật ngữ.
Mỗi phần tử có các thuộc tính riêng của nó (ví dụ: action="translate" trên một trường tùy chỉnh). Để xem tài liệu tham khảo wpml-config.xml đầy đủ (mọi phần tử, mọi thuộc tính, mọi giá trị được phép), hãy xem Thông tin dành cho nhà phát triển WPML.
Một quy trình làm việc thực tế
Nếu bộ phận Hỗ trợ của WPML đưa cho bạn một khối wpml-config.xml để dán:
- Mở WPML > Cài đặt > Cấu hình XML tùy chỉnh.
- Dán đoạn XML của họ vào bên trong khối
<wpml-config>hiện có (hoặc thay thế nội dung nếu họ đã cung cấp cho bạn toàn bộ khối). - Lưu.
- WPML sẽ áp dụng tệp wpml-config.xml của bạn ngay lập tức. Nếu nó khai báo một loại bài viết hoặc trường mới có thể dịch được, mục nhập đó sẽ xuất hiện ngay trong Cài đặt > Dịch loại bài viết / Dịch trường tùy chỉnh.
Nếu bạn đang xây dựng một giao diện hoặc plugin tùy chỉnh và muốn cung cấp cấu hình WPML của nó cùng với mã, thay vào đó bạn sẽ đặt cùng một khối <wpml-config> vào một tệp wpml-config.xml ở thư mục gốc của giao diện hoặc plugin của bạn. WPML sẽ đọc tệp này khi kích hoạt. Trình soạn thảo trong trang quản trị dành cho các tinh chỉnh riêng của từng trang web; tệp đóng gói kèm theo dành cho các mặc định riêng của giao diện/plugin.
Viết bởi Amir · Cập nhật lần cuối vào ngày 2 tháng 7 năm 2026
Được viết bởi Amir · Cập nhật lần cuối vào 2 tháng 7 năm 2026