- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 4.6.8
- Résolu dans
- WPML 4.6.9
- Étiquettes de sujet
- Bug
Aperçu de l’anomalie
Si vous avez un utilisateur avec un « Rôle personnalisé », par exemple « Gestionnaire de boutique » basé sur le rôle « Éditeur », il ne pourra pas modifier les traductions existantes.
Solution de contournement
1. Dans wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php à la ligne 217, remplacez la méthode – \WPML\LIB\WP\User::isEditor par :
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}
2. Dans le fichier functions.php du thème, ajoutez ce code :
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';
}
}
Remplacez la partie second_custom_role par le nom de votre rôle personnalisé, dans cet exemple shop_manager.