Tổng quan về sự cố
Nếu bạn có một người dùng với ‘Vai trò tùy chỉnh’, ví dụ như ‘Quản lý cửa hàng’ dựa trên vai trò ‘Biên tập viên’, họ sẽ không thể chỉnh sửa các bản dịch hiện có.
Giải pháp tạm thời
Sự cố này đã được khắc phục trong WPML 4.6.9. Việc cập nhật giải quyết vấn đề này trên trang web của bạn, vì vậy bạn chỉ cần giải pháp tạm thời này nếu chưa thể cập nhật.
1. Trong wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php tại dòng 217, thay đổi phương thức – \WPML\LIB\WP\User::isEditor thành:
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}2. Trong tệp functions.php của giao diện, thêm mã này:
add_filter('wpml_editor_capability', 'my_editor');
function my_editor(){
$user = wp_get_current_user();
if (in_array('second_custom_role', (array)$user->roles, true)){
return 'second_custom_role';
}
}Thay đổi phần second_custom_role bằng tên vai trò tùy chỉnh của bạn, trong ví dụ này là shop_manager.