Ü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
Dieses Problem ist in WPML 4.6.9 behoben. Ein Update behebt dies auf Ihrer Website, daher benötigen Sie diese Problemumgehung nur, wenn Sie noch nicht aktualisieren können.
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.