Descrición
Este plugin permíteche cambiar rapidamente entre contas de usuario en WordPress cun só clic. Pecharáseche a sesión e iniciarás sesión como o usuario desexado de inmediato. É útil para axudar a clientes en sitios WooCommerce, sitios de subscrición, contornos de probas ou calquera sitio no que os administradores precisen cambiar entre varias contas.
Características
- Switch user: Cambia de inmediato a calquera conta de usuario desde a pantalla Usuarios.
- Switch back: Volve de inmediato á túa conta de orixe.
- Switch off: Sae da túa conta pero conserva a capacidade de volver entrar de inmediato.
- Compatible con Multisite, WooCommerce, BuddyPress e bbPress.
- Compatible coa maioría de plugins de subscricións e de xestión de usuarios.
- Compatible coa maioría de solucións de identificación de dous factores (consulta as FAQ para máis información).
- Aprobado para o seu uso en plataformas WordPress de nivel empresarial como Altis e WordPress VIP.
Nota: User Switching é compatible con versións de WordPress de ata tres anos de antigüidade e con PHP 7.4 ou superior.
Seguranza
- Só os usuarios coa capacidade de editar outros usuarios poden cambiar de conta. Por defecto, isto só son os administradores en instalacións de sitio único e os Super Admins en instalacións Multisite.
- Os contrasinais non se revelan (nin se poden revelar).
- Usa o sistema de identificación por cookies de WordPress para lembrar as contas desde as que cambiaches e ao volver.
- Implementa o sistema de seguridade de nonce de WordPress, o que significa que só poden cambiar de usuario quen teñan intención de facelo.
- Compatibilidade total coa validación de sesións de usuario cando procede.
- Compatibilidade total con HTTPS.
Uso
- Visita o menú Usuarios en WordPress e verás unha ligazón Switch To na lista de ligazóns de acción de cada usuario.
- Fai clic nela e cambiarás de inmediato a esa conta de usuario.
- Podes volver á túa conta de orixe mediante a ligazón Switch back de cada pantalla do Escritorio ou no menú do teu perfil na barra de ferramentas de WordPress.
Como alternativa, na paleta de comandos de WordPress podes buscar un usuario e cambiar á súa conta de inmediato. Desde aí tamén podes desconectar o cambio e volver.
Consulta as FAQ para obter información sobre a característica Switch Off.
Outros plugins
Manteño varios plugins máis para desenvolvedores. Bótalles un ollo:
- Query Monitor é o panel de ferramentas de desenvolvemento para WordPress
- WP Crontrol permíteche ver e controlar o que ocorre no sistema WP-Cron
Grazas
O tempo que dedico a manter este plugin e outros está patrocinado en parte por:
Declaración de privacidade
User Switching non envía datos a ningún terceiro, nin inclúe recursos de terceiros, nin o fará nunca.
User Switching usa cookies do navegador para permitir que os usuarios cambien a outra conta. As súas cookies funcionan co mesmo mecanismo que as cookies de identificación do núcleo de WordPress, o que significa que os seus valores conteñen o campo user_login do usuario en texto plano, que debe tratarse como información potencialmente identificable persoalmente (PII) por motivos de privacidade e regulatorios (RXPD, CCPA, etc). Os nomes das cookies son:
wordpress_user_sw_{COOKIEHASH}wordpress_user_sw_secure_{COOKIEHASH}wordpress_user_sw_olduser_{COOKIEHASH}
Consulta tamén as FAQ para ver algunhas preguntas sobre privacidade e seguranza ao cambiar entre usuarios.
Declaración de accesibilidade
User Switching pretende ser totalmente accesible para todos os seus usuarios. Implementa as mellores prácticas de accesibilidade web, xera marcado semántico e estruturado, respecta os estilos por defecto e as directrices de accesibilidade de WordPress, usa as APIs de accesibilidade que proporcionan WordPress e os navegadores web cando procede, e é totalmente accesible mediante teclado.
User Switching debería cumprir as Web Content Accessibility Guidelines (WCAG) 2.0 no nivel AA cando se usa cunha versión recente de WordPress na que a propia área de administración cumpra estas directrices. Se experimentaches ou identificaches un problema de accesibilidade en User Switching, abre un fío no foro de soporte do plugin User Switching e resolvereino en breve.
Preguntas frecuentes
Este plugin funciona con PHP 8?
Si, está probado activamente e funciona ata PHP 8.5.
Que significa «Switch off»?
Desconectar o cambio péchache a sesión da túa conta pero conserva o teu ID de usuario nunha cookie de identificación para que poidas volver directamente sen ter que iniciar sesión de novo manualmente. É semellante a cambiar a ningún usuario e poder volver.
A ligazón Switch Off atópase no menú do teu perfil na barra de ferramentas de WordPress. Unha vez que desconectes o cambio, verás unha ligazón Switch back en varios lugares:
- No pé de páxina do teu sitio
- Na pantalla de acceso
- No widget «Meta»
Funciona este plugin con WordPress Multisite?
Si, e tamén poderás cambiar de usuario desde a pantalla Usuarios da administración da rede.
Funciona este plugin con WooCommerce?
Si, e tamén poderás cambiar de usuario desde varias pantallas de administración de WooCommerce coa sesión iniciada como Shop Manager ou como usuario administrador.
Funciona este plugin con BuddyPress?
Si, e tamén poderás cambiar de usuario desde as pantallas de perfil dos membros e da lista de membros.
Funciona este plugin con bbPress?
Si, e tamén poderás cambiar de usuario desde as pantallas de perfil dos membros.
Funciona este plugin se o meu sitio usa un plugin de identificación de dous factores?
Si, na súa maioría.
Unha excepción que coñezo é Duo. Se usas Duo Universal ou Duo Security, deberías instalar o plugin complementario User Switching for Duo, que evitará que apareza a solicitude de identificación de dous factores cando cambies entre usuarios.
Que capacidade necesita un usuario para cambiar de conta?
Un usuario necesita a capacidade
edit_userspara cambiar de conta de usuario. Por defecto só os administradores teñen esta capacidade e, con Multisite activado, só a teñen os Super Admins.Concretamente, un usuario necesita a capacidade de editar o usuario de destino para poder cambiar á súa conta. Isto significa que, se tes unha asignación de capacidades de usuario personalizada que usa as capacidades
edit_usersouedit_userpara afectar á capacidade dos usuarios de editar a outros, User Switching debería respectala.Poden os administradores normais de instalacións Multisite cambiar de conta?
Non. Non obstante, pódese activar instalando o plugin User Switching for Regular Admins.
Pódese conceder a capacidade de cambiar de conta a outros usuarios ou perfís?
Si. A capacidade meta
switch_userspódese conceder explicitamente a un usuario ou a un perfil para permitirlles cambiar de usuario independentemente de que teñan ou non a capacidadeedit_users. Para fins prácticos, o usuario ou perfil tamén necesitará a capacidadelist_userspara poder acceder ao menú Usuarios na área de administración de WordPress.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 );Notas:
- Isto ten que ocorrer antes do filtrado de capacidades propio de User Switching, de aí a prioridade de
9. - O parámetro
$useré o usuario que ten a sesión iniciada actualmente. - O ID do usuario de destino pódese atopar en
$args[2].
- Isto ten que ocorrer antes do filtrado de capacidades propio de User Switching, de aí a prioridade de
Pódese denegar a capacidade de cambiar de conta a certos usuarios?
Si. As capacidades de usuario en WordPress pódense establecer en
falsepara denegalas a un usuario. Denegar a capacidadeswitch_usersimpide que o usuario cambie de usuario, aínda que teña a capacidadeedit_users.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 );Notas:
- Isto ten que ocorrer antes do filtrado de capacidades propio de User Switching, de aí a prioridade de
9. - O parámetro
$useré o usuario que ten a sesión iniciada actualmente. - O ID do usuario de destino pódese atopar en
$args[2].
- Isto ten que ocorrer antes do filtrado de capacidades propio de User Switching, de aí a prioridade de
Podo engadir unha ligazón «Switch To» personalizada ao meu propio plugin ou tema?
Si. Usa o método
user_switching::maybe_switch_url()para isto. Encárgase da identificación e devolve unha URL protexida con nonce para que o usuario actual cambie á conta de usuario indicada.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 ) ); } }Se queres especificar a URL á que se redirixe o usuario despois de cambiar, engade un parámetro
redirect_toá URL así: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 ) ); } }O código anterior tamén serve para mostrar unha ligazón para volver ao usuario orixinal, pero se queres unha ligazón explícita para isto, podes usar o seguinte código:
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 ) ); } }Podo determinar se o usuario actual cambiou á súa conta?
Si. Usa a función
current_user_switched()para isto. Se o usuario actual cambiou á súa conta desde outra, devolve un obxectoWP_Userdo usuario de orixe; se non, devolve false.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. } }Podo rexistrar cada vez que un usuario cambia a outra conta?
Podes instalar un plugin de rexistro de auditoría como Simple History, WP Activity Log ou Stream; todos eles son compatibles de forma nativa con User Switching e rexistran unha entrada cando un usuario cambia a outra conta.
Permite este plugin que un usuario incrimine a outro por unha acción?
Potencialmente si, pero User Switching inclúe algunhas proteccións de seguranza para isto e hai outras precaucións que podes tomar como administrador do sitio:
- Podes instalar un plugin de rexistro de auditoría como Simple History, WP Activity Log ou Stream; todos eles son compatibles de forma nativa con User Switching e rexistran unha entrada cando un usuario cambia a outra conta.
- User Switching almacena o ID do usuario de orixe na nova sesión de usuario de WordPress do usuario ao que cambia. Aínda que esta sesión non persiste por defecto cando posteriormente volve, haberá un rexistro deste ID se o servidor da base de datos ten activado o rexistro de consultas.
- User Switching almacena o nome de acceso do usuario de orixe nunha cookie de identificación (consulta a Declaración de privacidade para máis información). Se os rexistros de acceso do teu servidor almacenan datos de cookies, haberá un rexistro deste nome de acceso (xunto co enderezo IP) en cada solicitude de acceso.
- User Switching activa unha acción cando un usuario cambia de conta, desconecta o cambio ou volve (ver abaixo). Podes usar estas accións para rexistrar información adicional por motivos de seguranza segundo as túas necesidades.
Un ou máis dos anteriores deberían permitirche correlacionar unha acción co usuario de orixe cando un usuario cambia de conta, se o necesitas.
Ten en conta que, aínda sen usar o plugin User Switching, calquera usuario que poida editar a outro usuario pode incriminalo por unha acción, por exemplo, cambiando o seu contrasinal e accedendo manualmente a esa conta. Se che preocupa que uns usuarios abusen doutros, debes ter moito coidado ao conceder dereitos de administración.
Este plugin avísame se tento cambiar a unha conta á que outra persoa xa cambiou?
Si. Cando isto ocorre, mostrarase unha solicitude para que confirmes que queres continuar co cambio á conta afectada.
Esta característica é útil se tes varios usuarios no teu sitio que poden cambiar a outras contas de usuario ao mesmo tempo, por exemplo un equipo de axentes de soporte.
Podo cambiar de usuario directamente desde a barra de ferramentas de administración?
Si, na paleta de comandos de WordPress podes buscar un usuario e cambiar á súa conta de inmediato. Desde aí tamén podes desconectar o cambio e volver.
Chámase a algunha acción do plugin cando un usuario cambia de conta?
Si. Cando un usuario cambia a outra conta, chámase ao gancho
switch_to_user:/** * 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 );Cando un usuario volve á súa conta de orixe, chámase ao gancho
switch_back_user:/** * 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 );Cando un usuario desconecta o cambio, chámase ao gancho
switch_off_user:/** * 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 );Cando un usuario cambia a outra conta, desconecta o cambio ou volve, aplícase o filtro
user_switching_redirect_toá localización á que se redirixe:/** * 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 );Ademais, User Switching respecta os seguintes filtros do núcleo de WordPress cando procede:
login_redirectao cambiar a outro usuario.logout_redirectao desconectar o cambio.
Como podo informar dun fallo de seguranza?
Podes enviar un informe privado de vulnerabilidade de seguranza a User Switching a través da pestana Security do repositorio de GitHub. O proceso de GitHub Security Advisory facilita a colaboración privada en problemas de seguranza. Recibirás o crédito por un informe válido e un CVE se fose necesario.
Non informes de problemas de seguridade nos foros de soporte de WordPress.org nin por correo electrónico. Grazas.
Aceptades doazóns?
Acepto patrocinios a través do programa GitHub Sponsors e calquera axuda que poidas dar axudarame a manter este plugin e a mantelo gratuíto para todos.
Comentarios
Colaboradores e desenvolvedores
“User Switching” é un software de código aberto. As seguintes persoas colaboraron con este plugin.
Colaboradores“User Switching” foi traducido a 50 idiomas. Grazas aos desenvolvedores polas súas contribucións.
Traduce “User Switching” ao teu idioma.
Interesado no desenvolvemento?
Revisa o código, bota unha ollada aorepositorio SVN, ou subscríbete ao log de desenvolvemento por RSS.
Rexistro de cambios
1.12.2 (29 de agosto de 2026)
- Corrixida unha advertencia de
useSelectprovocada pola integración coa paleta de comandos - Engadidas etiquetas ARIA ás ligazóns de volver
- Probado ata WordPress 7.1
- Súbese a versión mínima compatible de WordPress á 6.3
1.12.1 (9 de xullo de 2026)
- Corrixe un punto fixo despois da ligazón «Switch back» que podía romper a puntuación en idiomas distintos do inglés
- Pásase a usar
wp_print_inline_script_tag()para o script integrado - Pequenos axustes de estilo no botón Switch Back do pé de páxina
- Confirma a compatibilidade total con PHP 8.5
1.12.0 (24 de maio de 2026)
- Introduce a posibilidade de cambiar de usuario desde a paleta de comandos de WordPress
- Confirma a compatibilidade con WordPress 7.0
1.11.2 (27 de febreiro de 2026)
- Corrixe un nonce caducado na ligazón de volver despois de que se destrúa a sesión do usuario
- Corrixe unha posible advertencia de constante de cookie non definida no xestor de wp_die
1.11.1 (4 de decembro de 2025)
- Confirma a compatibilidade con WordPress 6.9
1.11.0 (15 de outubro de 2025)
- Engade unha ligazón Switch Back a todas as pantallas de
wp_die()cando cambiaches a outra conta.
1.10.0 (27 de xullo de 2025)
- Cando se cambia de usuario, mostra todas as mensaxes de User Switching no idioma do usuario orixinal
1.9.2 (16 de abril de 2025)
- Confirma a compatibilidade con WordPress 6.8
- Melloras menores na calidade do código
1.9.1 (5 de decembro de 2024)
- Corrixe o uso dos parámetros de
wp_loginewp_logout, que podía causar un erro grave se se pasaba un valor inesperado.
1.9.0 (21 de novembro de 2024)
- Introduce unha mensaxe de confirmación cando un usuario tenta cambiar a unha conta á que outra persoa xa cambiou. Útil para equipos de enxeñeiros de soporte que cambian a contas de clientes.
- Confirma a compatibilidade con WordPress 6.7.
- Confirma a compatibilidade con PHP 8.4.
- Varias melloras na calidade do código.
Versións anteriores
Para o rexistro de cambios das versións anteriores, consulta a páxina de versións en GitHub.


