Descubre con este tutorial cómo dejar de mostrar un widget sin plugins para usuarios que están «logueados».
A raíz del tutorial donde explicaba cómo ocultar el banner superior a usuarios logueados en el H Theme, varios suscriptores me preguntaron cómo se podía obtener lo mismo en una página principal construida con widgets.
Así que me puse manos a la obra.
Como la mayoría de modificaciones de código, el resultado final se puede conseguir de varias maneras.
En un tutorial anterior aprendiste la forma más sencilla hacerlo, ocultando el widget mediante CSS.
¿Prefieres que simplemente ese widget no se cargue?
Dicho y hecho. 😉
Por ejemplo, Generate Pro consta de un widget creado con Genesis eNews Extended para captar el email de suscriptores. Cuando los usuarios estén dentro de su cuenta, ya no necesitas que sigan viendo este widget, así que puedes eliminarlo solo para ellos.
Este sería el resultado final:
En contraste a cómo lo ve un usuario sin identificar:
Aquí tienes cómo hacerlo:
Pasos para ocultar un widget sin plugins a usuarios conectados
1. Mostrar el ID del widget en WordPress
Primero necesitas saber el ID del widget que quieres ocultar.
Pero, por defecto, la caja donde rellenas en contenido de los widgets no muestra el ID del widget en cuestión.
Para cambiar esta situación, añade el siguiente fragmento al final del fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Así de sencillo. Esto es lo que visualizas ahora al entrar en la edición del widget:
2. Dejar de cargar el widget cuando el usuario está logueado
Ahora que ya conoces el ID del widget, puedes usar la lógica condicional sobre él.
En es este caso vas a usar la etiqueta condicional is_user_logged_in().
Para ello, añade el siguiente fragmento al final del fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Con este sencillo snippet le indicas a WordPress que no cargue el widget que le has indicado cuando el usuario está conectado.
Conclusión
Con unas pocas líneas de código puedes conocer el ID del widget y mostrarlo/ocultarlo de forma condicional a usuarios dependiendo de su estado de conexion.
Esto es solo un ejemplo de lo que puedes conseguir conociendo la ID de un widget y utilizando las etiquetas condicionales.
Espero que te sirva de inspiración. 😉
¿Tienes alguna pregunta o quieres darme una sugerencia para próximos snippets? Déjala en los comentarios.
Ventajas de ser suscriptor. 😉
Tutoriales relacionados
- https://codigogenesis.com/ocultar-el-banner-superior-de-la-home-del-h-theme-a-usuarios-logueados/
- https://codigogenesis.com/ocultar-widget-usuarios-logueados-wordpress-css/
- https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/
- https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/