Hola @erminalkil,
¿Está utilizando un tema o creador de páginas en este sitio web?
gracias carl
Hola,
Sí, estoy usando Kadence Blocks.
Su captura de pantalla parece parte de un menú clásico. Por supuesto, también puedes guardar enlaces individuales allí. Deberá preguntarle al equipo de soporte del complemento LearnDash que está utilizando qué enlace o URL necesita.
Como puedes ver, la especificación de las clases depende totalmente de ti, al igual que el texto. Puedes adaptar ambos a tus deseos.
Necesito configurar exactamente las mismas cosas para este botón, igual que el menú clásico que adjunto. Entonces, cuando los usuarios inician sesión, el botón debe cambiar a «cerrar sesión» y antes de iniciar sesión debe permanecer como «iniciar sesión». Eso es lo que tengo ahora como enlace en el encabezado y necesito hacerlo como un botón ahora. No creo que learndash pueda ayudar con esto ya que está más relacionado con WordPress y el tema en sí.
Necesitaría algún código PHP o JavaScript personalizado para modificar dinámicamente la etiqueta de un elemento del menú según el estado de inicio de sesión. Una solución sería utilizar el filtro “wp_nav_menu” o similar para modificar la etiqueta según sea necesario.
Otro enfoque sería generar ambos elementos del menú y usar CSS para ocultar uno u otro. Aún necesitaría algo de PHP personalizado para generar atributos de clase apropiados según el estado de inicio de sesión. Esto también se puede hacer a través del filtro “wp_nav_menu”. O puede agregar la clase apropiada al elemento del cuerpo mediante el filtro «body_class».
Aunque sería parte del esquema de menú incorporado, puedes usar CSS para darle estilo para que parezca un botón distinto. Alternativamente, genere HTML apropiado inmediatamente después de la llamada a wp_nav_menu().
hola chicos,
Muchas gracias por las respuestas, pero para mí las explicaciones son en su mayoría chinas, ya que mi experiencia con la codificación es limitada. Si pudiera proporcionarme una guía paso a paso, se lo agradecería más 🙂
你好 Debe elegir un enfoque específico antes de que alguien pueda proporcionar más detalles. También necesitaríamos saber si está utilizando un tema clásico o un tema de bloque. Incluso entonces, me temo que es posible que detalles más específicos aún no sean adecuados a menos que tengas cierta competencia con JavaScript o PHP. También se necesitaría cierto dominio de CSS. Si cree que no estará a la altura de la tarea, le recomiendo contratar ayuda profesional. Dicha ayuda se puede encontrar en jobs.wordpress.net.
Tengo algunos conocimientos básicos y cubro si se dan los pasos. Estoy usando el tema Kadence con el editor de bloques Kadence. Solo quiero usar el botón que adjunté como botón de «iniciar sesión» y «cerrar sesión». Antes de iniciar sesión, debería aparecer un cuadro de diálogo de inicio de sesión (esto es algo que puedo lograr fácilmente asignando un enlace al botón)
Pero lo que quiero es que, cuando inicie sesión en el sitio, quiero que este botón cambie a «Cerrar sesión» y una vez que el usuario haga clic en él, debe cerrar sesión.
Espero que quede claro.
¿Creo que Kadence es un tema clásico? (si sus archivos de plantilla son .php, no .html)
¿Cómo consigues que el botón actual esté allí? Principalmente necesita generar condicionalmente HTML para iniciar o cerrar sesión en función de si el usuario ha iniciado sesión actualmente o no. Simplemente puedes usar wp_loginout() para hacer esto por ti. Luego, diseñará el enlace resultante con CSS para que parezca un botón.
De forma predeterminada, las etiquetas de los enlaces de la función son «Iniciar sesión» y «Cerrar sesión». Si desea algo diferente, utilice el filtro «cerrar sesión» para encontrar el texto no deseado y reemplazarlo con el que prefiera.
Modificar las etiquetas de esta manera se vuelve complicado para una función tan simple. Es posible que prefiera utilizar el código fuente de la función como guía para desarrollar su propia función personalizada que funcione exactamente como desea. En esencia, genera cierto HTML basado en el valor de retorno de is_user_logged_in()