Nuestros visitantes preguntan:
Me gustaría saber cómo añadir un enlace para cerrar sesión en WordPress. Actualmente tengo un sitio exclusivo para suscriptores, pensé en colocar el siguiente enlace personalizado:
en el menú principal, el problema con este enlace es que siempre se muestra una «página de confirmación» con la siguiente información:
Estás intentando cerrar tu sesión en [nombre del sitio].
¿Estás seguro de que quieres desconectarte?
Tal vez ustedes puedan ayudarme con este pequeño detalle, seguiré al tanto y muchas gracias por toda la información!
Brenda
Respuesta:
Hola Brenda,
En efecto, existen distintas formas de evitar el uso del enlace: «nombredelsitio.com/wp-login.php?action=logout«. Par dar respuesta a tu pregunta «Cómo añadir un enlace para cerrar sesión en WordPress«, utilizaremos la función incluida en el core de WordPress «wp_logout_url«.
Antes de continuar elimina el enlace: «nombredelsitio.com/wp-login.php?action=logout» de tu menú principal – ya que será sustituido a través de la función a utilizar. Hecho lo anterior, en el archivo «functions.php» del tema activo en tu sitio asegúrate de pegar el siguiente código:
Observa que el código de arriba incluye la ubicación del menú «primary» (o principal), así como la redirección automática a la página principal de tu sitio «wp_logout_url( home_url() )«. Si deseas cambiar la URL de redirección – cuando un usuario cierra su sesión, a por ejemplo: mantenerse en la misma página «wp_logout_url( get_permalink() )«, entonces utiliza el código:
También puedes utiliza el siguiente código para redireccionar al usuario a una URL específica:
O mediante la integración de condicionales, es posible mostrar el enlace «Salir» exclusivamente a los usuarios que hayan iniciado sesión:
Cualquiera de los códigos a utilizar incluirán el enlace «Salir» en el menú principal de tu sitio, de forma similar a:
Daniel dice
Todo el código funciona perfecto, muchas gracias, la pregunta es: cuando un usuario esta cerrada la sesión aparece en el menú la palabra Salir , quisiera que la opción salir solo les apareciera a las personas que estén con la sesión iniciada. ¿cómo lo puedo arreglar? muchas gracias
Estella Vidal dice
Hola @Daniel,
Para mostrar el enlace «cerrar sesión» únicamente a los usuarios logueados, utiliza un código similar al siguiente:
Un saludo!
Cristobal Vidal dice
Hola, excelente página, mi pregunta es que cuando usas woocommerce y quieres la opción cerrar sesión para los usuarios estos lo encuentran con en la pagina mi cuenta (my_account), en la que una parte dice cerrar sesión…bueno a mi no me resultaba y en la parte de My Account Endpoints en cerrar sesión cree una página dedicada a cerrar sesión con el shortcode [woocommerce_logout] y todavìa no cierra la sesión! ya no sé como solucionar este problema, s me ayudan les agradecería mucho.
saludos.
Estella Vidal dice
Hola @Cristobal,
Actualmente WooCommerce utiliza la función nativa de WordPress «wp_logout_url» para cerrar la sesión de un usuario, por lo que realmente el plugin no es el causante de ese error. Te sugiero revisar si estás utilizando SSL en todas las páginas, o en la página con el shortcode [woocommerce_logout], si es así trata de desactivar SSL en la página de tu interés. Un saludo!
jose eugenio hurtado dice
excelnte ayuda, me funciono excelente el que tiende la opcion get_permalink. gracias muchas gracias
Estella Vidal dice
Un placer @Jose, éxito en tu proyecto!
Danilo Rojas dice
Hola muy bueno el dato, justamente estaba buscando algo así, el problema que no me funciona, que pena.-
Que puedo hacer?. No me muestra error si no que no me aparece nada osea ningún cambio.-
Estella dice
Hola @Danilo,
Si no tienes experiencia con la personalización de código puedes usar un plugin como «Log Out Shortcode» o «My Login Logout Plugin» para integrar un enlace que permita iniciar/cerrar sesión. Un saludo 🙂 !
Danilo Rojas dice
Muchas Gracias por tu respuesta, mira te explico tengo instalado woocommerce y en el modulo mi cuenta existe un cierre de sesión. Lo que yo quiero hacer es un modulo donde sobresalga el cierre de sesión, ya que hay lo encuentro muy escondido, me explico!.
Ojala me puedas ayudar.-
Se agradece
Gracias.-
Estella dice
Siempre podrás añadir clases de estilos CSS para resaltar ese elemento 😉
xzx005 dice
Hola, sabes donde podria cololar esos estilos css?
Alex dice
hola buen día, necesito poder administrar tablas de manera tal que un perfil pueda ver editar borrar y agregar información en las tablas un segundo perfil pueda visualizar y hacer cambios pero dándole restricciones y un ultimo perfil que solo pueda consultar mas no tenga permiso de hacer nada mas solo consultar y buscar sobre los datos ingresados por los dos perfiles anteriores, gracias !
Alex dice
es posible que al salir se cierre la sesión pero que el dar atrás en el botón del navegador no retorne a la sesión que se acaba de cerrar ya que al dar atrás en el botón del navegador regresa a la sesión de forma abierta esto por el cache de navegación creo
Elsy dice
Mismo problema. ¿Como solucionaste?
Keiner Chará dice
Los amo jajajaja por fin estoy terminando de pulir mi Membership Site 🙂
Antonio F.S. dice
Hola.
Ante todo, muchas gracias por las posibles respuestas.
¿Cómo puedo hacer para que al salir del navegador, la sesión en WordPress se cierre automáticamente?
Un cordial saludo.
Antonio F.S.
Matheo dice
Hola, tengo un problema cuando voy al inicio de se cierra la sesión automaticamente, tengo inslado ultimte member.
Que puedo hacer?
Guillermo dice
Hola Estella! Éres una máquina, de verdad! Esta función me ha servido y mucho para mi tienda de Woocommerce. Me estaba volviendo loco y no daba con la respuesta. 😉
Un inciso. Cuando hacen click en ‘Cerrar sesión’ he hecho que sean redireccionados directamente a la página de Inicio, podría hacer que apareciera durante 2 segundos una pequeña ventana emergente dando una información como ‘Muchas gracias por visitarnos’ tras hacerse el redireccionamiento?
Muchísimas gracias por adelantado. Un saludo.
Marco Cabrejos dice
Muchísimas gracias, gran aporte es justo lo que estaba buscando.
Quería atreverme a realizarte una pregunta adicional, como podría hacer para que al momento que un suscriptor se loguee desde cualquier pagina, se lo permite pero no llevándolo a la pagina de mi cuenta (utilizo woocommerce); sino, que lo deje en la misma página desde la que se logueó.
Muchísimas gracias nuevamente de antemano. un abrazo.
David dice
Hola que tal, en el tema que estoy utilizando que es Hello de Elementor no me arroja la ubicación «primary». Sabes si en ese tema hay algun otro nombre de locación para que pueda agregarlo al menú en el que quiero que aparezca?