WPML

Ü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.

Alle bekannten Probleme

Tritt dieses Problem weiterhin auf?

Wenn das Update das Problem nicht behebt, stellen Sie eine Support-Anfrage und wir sehen uns das gemeinsam mit Ihnen an.