- Status
- Gelöst
- Gemeldet für
- WPML Multilingual CMS 4.6.8
- Gelöst in
- WPML 4.6.9
- Themen-Tags
- Bug
Übersicht über das Problem
Wenn Sie einen Benutzer mit einer „benutzerdefinierten Rolle“ haben, zum Beispiel „Shop-Manager“ basierend auf der Rolle „Redakteur“, kann dieser bestehende Übersetzungen nicht bearbeiten.
Problemumgehung
1. Ändern Sie in wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php in Zeile 217 die Methode – \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. Fügen Sie in der functions.php des Themes diesen Code hinzu:
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';
}
}
Ersetzen Sie den Teil second_custom_role durch den Namen Ihrer benutzerdefinierten Rolle, in diesem Beispiel shop_manager.