- Stato
- Risolto
- Segnalato per
- WPML Multilingual CMS 4.6.8
- Risolto in
- WPML 4.6.9
- Tag dell’argomento
- Bug
Panoramica del problema
Se hai un utente con un “Ruolo personalizzato”, ad esempio “Gestore negozio” basato sul ruolo “Editore”, non potrà modificare le traduzioni esistenti.
Soluzione alternativa
1. In wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php alla riga 217, modifica il metodo – \WPML\LIB\WP\User::isEditor in:
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}
2. Nel file functions.php del tema aggiungi questo codice:
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';
}
}
Sostituisci la parte second_custom_role con il nome del tuo ruolo personalizzato, in questo esempio shop_manager.