- 상태
- 해결됨
- 보고된 제품
- WPML Multilingual CMS 4.6.8
- 해결된 버전
- WPML 4.6.9
- 주제 태그
- Bug
문제 개요
‘사용자 정의 역할’을 가진 사용자(예: ‘편집자’ 역할을 기반으로 하는 ‘상점 관리자’)가 있는 경우, 해당 사용자는 기존 번역을 편집할 수 없습니다.
임시 해결 방법
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)으로 변경하세요.