Beschreibung
Dieses Plugin ermöglicht es dir, in WordPress mit nur einem Klick schnell zwischen Benutzerkonten zu wechseln. Du wirst sofort ab- und als der gewünschte Benutzer wieder angemeldet. Das ist besonders hilfreich, um Kunden auf WooCommerce-Websites, Mitgliedsseiten oder in Testumgebungen zu unterstützen – oder allgemein auf Websites, auf denen Administratoren zwischen mehreren Konten wechseln müssen.
Funktionen
- Benutzerwechsel: Wechsle sofort zu einem beliebigen Benutzerkonto unter Benutzer.
- Zurückwechseln: wechsle sofort wieder zu deinem ursprünglichen Benutzerkonto zurück.
- Abmeldung simulieren: Melde dich von deinem Benutzerkonto ab, aber erhalte dir die Möglichkeit, dich sofort wieder anzumelden.
- Kompatibel mit Multisite, WooCommerce, BuddyPress und bbPress.
- Kompatibel mit den meisten Plugins zur Mitgliedschafts- und Benutzerverwaltung.
- Kompatibel mit den meisten Zwei-Faktor-Authentifizierungslösungen (siehe die FAQ für weitere Informationen).
- Für den Einsatz auf Enterprise-WordPress-Plattformen wie Altis und WordPress VIP zugelassen.
Hinweis: User Switching unterstützt WordPress-Versionen, die bis zu drei Jahre alt sind, sowie PHP-Version 7.4 oder höher.
Sicherheit
- Nur Benutzer mit der Berechtigung, andere Benutzer zu ändern, können zwischen den Accounts wechseln. Standardmäßig sind dies nur Administratoren in Einzelinstallationen und Superadmins in Netzwerkinstallationen.
- Passworte werden nicht (und können nicht) angezeigt werden.
- Benutzt die Cookie-Authentifizierung in WordPress während es sich die Benutzerkonten / das Benutzerkonto merkt, zu dem zu gewechselt hast wenn du zurück wechselst.
- Implementiert das Nonce-Sicherheitssystem in WordPress, das bedeutet, dass nur die die es ausdrücklich vorhaben zu einem anderen Benutzerkonto zu wechseln das auch tun.
- Vollständige Unterstützung für die Validierung von Benutzersitzungen, sofern zutreffend.
- Volle Unterstützung für HTTPS.
- Unterstützt durch the Patchstack Vulnerability Disclosure Program
Nutzung
- Gehe zum Benutzer Menü in WordPress und du wirst einen Wechsel zu Link in der Liste der Aktionslinks für jeden Benutzer finden.
- Klick hier und du wirst sofort zu diesem Benutzerkonto wechseln.
- Du kannst zu deinem ursprünglichen Benutzerkonto zurückwechseln über den Zurückwechseln Link auf jeder Dashboardansicht oder unter Dein Profil in der WordPress Werkzeugleiste.
Unter häufig gestellte Fragen findest du mehr Infos über die Funktion Abmeldung simulieren.
Andere Plugins
Ich pflege mehrere andere Plugins für Entwickler. Probiere sie aus:
- Query Monitor ist das Entwickler-Tool-Panel für WordPress
- WP Crontrol ermöglicht es dir, anzuzeigen und zu steuern, was im WP-Cron-System geschieht.
Datenschutzerklärung
User Switching sendet keine Daten an Dritte und bindet auch keine Ressourcen Dritter ein. Dies wird auch nie der Fall sein.
User Switching verwendet Browser-Cookies, um Benutzern den Wechsel zu einem anderen Konto zu ermöglichen. Diese Cookies funktionieren nach demselben Mechanismus wie die Authentifizierungs-Cookies im WordPress-Kern. Das bedeutet, dass ihre Werte das Feld user_login des Benutzers im Klartext enthalten, was aus Datenschutz- und Regulierungsgründen (DSGVO, CCPA usw.) als potenziell personenbezogene Information (PII) behandelt werden sollte. Die Namen der Cookies lauten:
wordpress_user_sw_{COOKIEHASH}wordpress_user_sw_secure_{COOKIEHASH}wordpress_user_sw_olduser_{COOKIEHASH}
Einige Fragen zum Datenschutz und zur Sicherheit beim Wechsel zwischen Benutzern findest du auch in den FAQ.
Erklärung zur Barrierefreiheit
User Switching soll für alle Benutzer vollständig barrierefrei sein. Das Plugin setzt bewährte Methoden der Webzugänglichkeit um, gibt semantisches und strukturiertes Markup aus, hält sich an die Standardstile und Barrierefreiheitsrichtlinien von WordPress, nutzt die von WordPress und Webbrowsern bereitgestellten Barrierefreiheits-APIs, wo dies sinnvoll ist, und ist vollständig über die Tastatur bedienbar.
User Switching sollte den Web Content Accessibility Guidelines (WCAG) 2.0 auf Level AA entsprechen, wenn es mit einer aktuellen Version von WordPress verwendet wird, deren Administrationsbereich ebenfalls diesen Richtlinien entspricht. Wenn du ein Problem mit der Barrierefreiheit in User Switching festgestellt hast, öffne bitte ein Thema im Support-Forum des User Switching-Plugins, und ich werde es umgehend beheben.
Screenshots
FAQ
-
Funktioniert dieses Plugin mit PHP 8?
-
Ja, es wird aktiv getestet und funktioniert bis PHP 8.4.
-
Was bedeutet „Abmeldung simulieren“?
-
„Abmeldung simulieren“ meldet dich von WordPress ab, aber behält deine Benutzer-ID in einem Authentifizierungs-Cookie damit du auf Knopfdruck wieder zurückwechseln kannst, ohne dich richtig einloggen zu müssen. Es simuliert eine Abmeldung zum Status „nicht angemeldet“, kann aber rückgängig gemacht werden.
Der Link Switch Off befindet sich in deinem Profilmenü in der WordPress-Werkzeugleiste. Sobald du dich abgemeldet hast, erscheint der Link Switch Back an mehreren Stellen:
- Im Footer deiner Website
- Auf dem Anmeldebildschirm
- Im „Meta“-Widget
-
Funktioniert dieses Plugin mit WordPress Multisite?
-
Ja, und du wirst auch aus der Benutzer-Übersicht in der Netzwerkverwaltung zu Benutzern wechseln können.
-
Funktioniert dieses Plugin mit WooCommerce?
-
Ja, und du kannst auch von verschiedenen WooCommerce-Verwaltungsbildschirmen aus den Benutzer wechseln, während du als Shop-Manager oder Verwaltungsbenutzer angemeldet bist.
-
Funktioniert dieses Plugin zusammen mit BuddyPress?
-
Ja, und du kannst Benutzer auch von der Ansicht des Benutzerprofils und der Mitgliederauflistung wechseln.
-
Funktioniert dieses Plugin zusammen mit bbPress?
-
Ja, und du kannst auch Benutzer vom Mitgliederprofil-Bereich wechseln.
-
Funktioniert dieses Plugin, wenn meine Webseite eine Zwei-Faktor-Authentifizierung benutzt?
-
Ja, meistens.
Eine Ausnahme die mir bekannst ist, ist Duo Security. Wenn du das Plugin benutzt, solltest du das User Switching für Duo Security Add-on Plugin installieren, welches den Dialog der Zwei-Faktoren-Authentifizierung verhindert, wenn du zwischen Benutzern wechselst.
-
Welche Berechtigungen braucht ein Benutzer um Nutzerkonten wechseln zu können?
-
Ein Benutzer benötigt die
edit_usersFähigkeit um Benutzerkonten zu wechseln. Standardmäßig haben nur Administratoren diese Fähigkeit, und mit Multisite aktiviert haben nur Super Admins diese Fähigkeit.Insbesondere muss ein Benutzer die Möglichkeit haben, den Zielbenutzer zu bearbeiten, um zu ihm wechseln zu können. Das bedeutet, wenn du eine benutzerdefinierte Zuordnung von Benutzerberechtigungen eingerichtet hast, die die Funktionen
edit_usersoderedit_userverwendet, um die Möglichkeit von Benutzern zum Bearbeiten anderer Benutzer zu beeinflussen, sollte dies beim Benutzerwechsel berücksichtigt werden. -
Können normale Administratoren Nutzerkonten in einer Multisite-Umgebung wechseln?
-
Nein. Allerdings kann dies durch Installation des Plugins User Switching for Regular Admins ermöglicht werden.
-
Kann die Berechtigung für einen Benutzerwechsel auch anderen Benutzern oder Rollen zugewiesen werden?
-
Ja. Die Meta-Berechtigung
switch_userskann einem Benutzer oder einer Rolle explizit zugewiesen werden, um ihnen das Wechseln zwischen Benutzern zu erlauben – unabhängig davon, ob sie über die Berechtigungedit_usersverfügen oder nicht. In der Praxis benötigt der Benutzer oder die Rolle außerdem die Berechtigunglist_users, um im WordPress-Administrationsbereich auf das Menü „Benutzer“ zugreifen zu können.add_filter( 'user_has_cap', function( $allcaps, $caps, $args, $user ) { if ( 'switch_to_user' === $args[0] ) { if ( my_condition( $user ) ) { $allcaps['switch_users'] = true; } } return $allcaps; }, 9, 4 );Beachte, dass dies vor der eigenen Berechtigungsfilterung von User Switching erfolgen muss – daher die Priorität
9. -
Kann Benutzern die Möglichkeit, zwischen Konten zu wechseln, verweigert werden?
-
Ja. Benutzerberechtigungen in WordPress können auf
falsegesetzt werden, um einem Benutzer bestimmte Rechte zu entziehen. Wenn du die Berechtigungswitch_usersverweigerst, kann der Benutzer keine Benutzer wechseln – selbst dann nicht, wenn er über die Berechtigungedit_usersverfügt.add_filter( 'user_has_cap', function( $allcaps, $caps, $args, $user ) { if ( 'switch_to_user' === $args[0] ) { if ( my_condition( $user ) ) { $allcaps['switch_users'] = false; } } return $allcaps; }, 9, 4 );Hinweise:
- Dies muss vor der eigenen Berechtigungsfilterung von User Switching erfolgen – daher die Priorität
9. - Die ID des Zielbenutzers befindet sich in
$args[2].
- Dies muss vor der eigenen Berechtigungsfilterung von User Switching erfolgen – daher die Priorität
-
Kann ich meinem eigenen Plugin oder Theme einen individuellen „Umschalten auf“-Link hinzufügen?
-
Ja. Verwende dazu die Methode
user_switching::maybe_switch_url(). Diese kümmert sich um die Authentifizierung und gibt eine nonce-geschützte URL zurück, mit der der aktuelle Benutzer in das angegebene Benutzerkonto wechseln kann.if ( method_exists( 'user_switching', 'maybe_switch_url' ) ) { $url = user_switching::maybe_switch_url( $target_user ); if ( $url ) { printf( '<a href="%1$s">Switch to %2$s</a>', esc_url( $url ), esc_html( $target_user->display_name ) ); } }Wenn du die URL festlegen möchtest, zu der der Benutzer nach dem Wechsel weitergeleitet wird, füge der URL einen
redirect_to-Parameter wie folgt hinzu:if ( method_exists( 'user_switching', 'maybe_switch_url' ) ) { $url = user_switching::maybe_switch_url( $target_user ); if ( $url ) { // Redirect to the home page after switching: $redirect_to = home_url(); printf( '<a href="%1$s">Switch to %2$s</a>', esc_url( add_query_arg( 'redirect_to', rawurlencode( $redirect_to ), $url ) ), esc_html( $target_user->display_name ) ); } }Der obige Code funktioniert auch, um einen Link zum Zurückwechseln zum ursprünglichen Benutzer anzuzeigen. Wenn du jedoch einen expliziten Link dafür möchtest, kannst du den folgenden Code verwenden:
if ( method_exists( 'user_switching', 'get_old_user' ) ) { $old_user = user_switching::get_old_user(); if ( $old_user ) { printf( '<a href="%1$s">Switch back to %2$s</a>', esc_url( user_switching::switch_back_url( $old_user ) ), esc_html( $old_user->display_name ) ); } } -
Kann ich feststellen, ob der aktuelle Benutzer in sein Konto gewechselt ist?
-
Ja. Verwende dafür die Funktion
current_user_switched(). Wenn der aktuelle Benutzer von einem anderen Konto in sein eigenes gewechselt ist, gibt sie einWP_User-Objekt für den ursprünglichen Benutzer zurück – andernfalls gibt sie „false“ zurück.if ( function_exists( 'current_user_switched' ) ) { $switched_user = current_user_switched(); if ( $switched_user ) { // User is logged in and has switched into their account. // $switched_user is the WP_User object for their originating user. } } -
Kann ich mich jedes Mal anmelden, wenn ein Benutzer zu einem anderen Konto wechselt?
-
Du kannst ein Protokollierungs-Plugin wie Simple History, WP Activity Log oder Stream installieren. Alle unterstützen User Switching von Haus aus und protokollieren einen Eintrag, wenn ein Benutzer in ein anderes Konto wechselt.
-
Ermöglicht dieses Plugin einem Benutzer, einem anderen Benutzer eine Aktion zuzuweisen?
-
Möglicherweise ja, aber User Switching beinhaltet hierfür einige Sicherheitsvorkehrungen und es gibt weitere Vorkehrungen, die du als Webseiten-Administrator treffen kannst:
- Du kannst ein Protokollierungs-Plugin wie Simple History, WP Activity Log oder Stream installieren. Alle unterstützen User Switching von Haus aus und protokollieren einen Eintrag, wenn ein Benutzer in ein anderes Konto wechselt.
- Beim Benutzerwechsel wird die ID des ursprünglichen Benutzers in der neuen WordPress-Benutzersitzung für den Benutzer gespeichert, zu dem gewechselt wird. Obwohl diese Sitzung standardmäßig nicht bestehen bleibt, wenn später zurückgewechselt wird, wird diese ID aufgezeichnet, wenn auf deinem Datenbankserver die Abfrageprotokollierung aktiviert ist.
- User Switching speichert den Anmeldenamen des ursprünglichen Benutzers in einem Authentifizierungs-Cookie (weitere Informationen findest du in der Datenschutzrichtlinie). Wenn dein Serverzugriffsprotokoll Cookie-Daten speichern, wird dieser Anmeldename (zusammen mit der IP-Adresse) für jede Zugriffsanforderung aufgezeichnet.
- Beim Benutzerwechsel wird eine Aktion ausgelöst, wenn ein Benutzer das Konto wechselt, ausschaltet oder zurückschaltet (siehe unten). Mit diesen Aktionen kannst du je nach Bedarf zusätzliche Protokollierungen zu Sicherheitszwecken durchführen.
Eines oder mehrere der oben genannten Möglichkeiten sollten es dir ermöglichen, eine Aktion mit dem ursprünglichen Benutzer zu verknüpfen, wenn ein Benutzer das Konto wechselt – falls du das benötigst.
Beachte, dass selbst ohne das User-Switching-Plugin jeder Benutzer, der die Berechtigung hat, einen anderen Benutzer zu bearbeiten, diesen für eine Aktion verantwortlich machen kann – zum Beispiel, indem er dessen Passwort ändert und sich manuell in dessen Konto einloggt. Wenn du dir Sorgen machst, dass Benutzer andere missbrauchen könnten, solltest du sehr vorsichtig sein, wenn du Benutzern Administratorrechte gewährst.
-
Warnt mich das Plugin, wenn ich versuche, in ein Konto zu wechseln, in das bereits jemand anderes gewechselt hat?
-
Ja. Wenn dies geschieht, wird dir eine Aufforderung angezeigt, in der du bestätigen kannst, dass du weiterhin zu dem betroffenen Konto wechseln möchtest.
Diese Funktion ist nützlich, wenn du mehrere Benutzer auf deiner Website hast, die sich möglicherweise gleichzeitig in andere Benutzerkonten einloggen – zum Beispiel ein Team von Support-Mitarbeitern.
-
Kann ich direkt aus der Adminleiste zu anderen Benutzern wechseln?
-
Ja, dafür gibt es ein Plugin eines Drittanbieters Admin Bar User Switching.
-
Werden beim Wechsel von Nutzerkonten irgendwelche Plugin-Aktionen aufgerufen?
-
Ja. Sobald jemand zu einem anderen Account wechselt, wird der Hook
switch_to_useraufgerufen:/** * Fires when a user switches to another user account. * * @since 0.6.0 * @since 1.4.0 The `$new_token` and `$old_token` parameters were added. * * @param int $user_id The ID of the user being switched to. * @param int $old_user_id The ID of the user being switched from. * @param string $new_token The token of the session of the user being switched to. Can be an empty string * or a token for a session that may or may not still be valid. * @param string $old_token The token of the session of the user being switched from. */ do_action( 'switch_to_user', $user_id, $old_user_id, $new_token, $old_token );Wenn jemand zum ursprünglichen Account zurückwechselt, wird der Hook
switch_back_useraufgerufen:/** * Fires when a user switches back to their originating account. * * @since 0.6.0 * @since 1.4.0 The `$new_token` and `$old_token` parameters were added. * * @param int $user_id The ID of the user being switched back to. * @param int|false $old_user_id The ID of the user being switched from, or false if the user is switching back * after having been switched off. * @param string $new_token The token of the session of the user being switched to. Can be an empty string * or a token for a session that may or may not still be valid. * @param string $old_token The token of the session of the user being switched from. */ do_action( 'switch_back_user', $user_id, $old_user_id, $new_token, $old_token );Wenn ein Benutzer die Abmeldung simuliert, wird der Hook
switch_off_useraufgerufen:/** * Fires when a user switches off. * * @since 0.6.0 * @since 1.4.0 The `$old_token` parameter was added. * * @param int $old_user_id The ID of the user switching off. * @param string $old_token The token of the session of the user switching off. */ do_action( 'switch_off_user', $old_user_id, $old_token );Wenn ein Benutzer zu einem anderen Konto wechselt, sich abmeldet oder zurückwechselt, wird der Filter
user_switching_redirect_toauf die Zieladresse angewendet, zu der der Benutzer weitergeleitet wird:/** * Filters the redirect location after a user switches to another account or switches off. * * @since 1.7.0 * * @param string $redirect_to The target redirect location, or an empty string if none is specified. * @param string|null $redirect_type The redirect type, see the `user_switching::REDIRECT_*` constants. * @param WP_User|null $new_user The user being switched to, or null if there is none. * @param WP_User|null $old_user The user being switched from, or null if there is none. */ return apply_filters( 'user_switching_redirect_to', $redirect_to, $redirect_type, $new_user, $old_user );Darüber hinaus berücksichtigt User Switching bei Bedarf die folgenden Filter aus dem WordPress-Kern:
login_redirectbeim Wechsel zu einem anderen Benutzer.logout_redirectbeim Simulieren der Abmeldung.
-
Wie kann ich eine Sicherheitslücke melden?
-
Du kannst Sicherheitslücken über das offizielle User Switching Vulnerability Disclosure Program auf Patchstack melden. Das Patchstack-Team hilft bei der Validierung, Einstufung und Behebung von Sicherheitslücken.
-
Akzeptierst du Spenden?
-
Ich akzeptiere Sponsoring über das GitHub-Sponsor-Programm und jede Unterstützung, die du geben kannst, wird mir helfen, dieses Plugin zu pflegen und es für alle kostenlos zu halten.
Rezensionen
Mitwirkende und Entwickler
„User Switching“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
Mitwirkende„User Switching“ wurde in 49 Sprachen übersetzt. Danke an die Übersetzenden für ihre Mitwirkung.
Übersetze „User Switching“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
1.11.1 (4 December 2025)
- Confirms support for WordPress 6.9
1.11.0 (15 October 2025)
- Adds a Switch Back link to all
wp_die()screens when you’re switched into another account.
1.10.0 (27 July 2025)
- When the user is switched, display all of User Switching’s messages in the language of the original user
1.9.2 (16 April 2025)
- Confirms support for WordPress 6.8
- Minor code quality improvements
1.9.1 (5 December 2024)
- Fixes the
wp_loginandwp_logoutparameter usage which could cause a fatal error when passed an unexpected value.
1.9.0 (21 November 2024)
- Introduces a confirmation message when a user attempts to switch into an account which somebody else is already switched into. Helpful for teams of support engineers who switch into customer accounts.
- Confirms support for WordPress 6.7.
- Confirms support for PHP 8.4.
- Various code quality improvements.
1.8.0 (22 July 2024)
- Adds a ‚Switch back‘ link to some access denied messages within the admin area.
- Bestätigung der Unterstützung für WordPress 6.6.
1.7.3 (21 February 2024)
- Confirms support for PHP 8.3
- Fixes compatibility with BuddyPress version 12
- Adds configuration for the Live Preview feature on wordpress.org
1.7.2 (16 November 2023)
- Confirm support for WordPress 6.4
- Reinstate the missing plugin readme file
1.7.1 (16 November 2023)
- Fix the redirect type parameter passed to the
user_switching_redirect_tofilter - Increase the minimum supported version of PHP to 7.4
Earlier versions
For the changelog of earlier versions, refer to the releases page on GitHub.


