문제 개요
‘사용자 정의 역할’을 가진 사용자(예: ‘편집자’ 역할을 기반으로 하는 ‘상점 관리자’)가 있는 경우, 해당 사용자는 기존 번역을 편집할 수 없습니다.
임시 해결 방법
이 문제는 WPML 4.6.9에서 해결되었습니다. 업데이트하면 사이트에서 문제가 해결되므로, 아직 업데이트할 수 없는 경우에만 이 임시 해결 방법이 필요합니다.
1. wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php의 217번째 줄에서 \WPML\LIB\WP\User::isEditor 메서드를 다음으로 변경하세요.
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}2. 테마의 functions.php에 다음 코드를 추가하세요.
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';
}
}second_custom_role 부분을 사용자 정의 역할 이름(이 예시에서는 shop_manager)으로 변경하세요.