• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Ocultar widget a usuarios logueados sin plugins en WordPress

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:

ocultar widget css por CSS Generate Pro
Ocultando el widget de suscripción por CSS a usuarios logueados.

En contraste a cómo lo ve un usuario sin identificar:

sin ocultar widget css por CSS Generate Pro
El widget de suscripción se muestra a usuarios no logueados.

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 1827 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:

mostrar ID de widget en WordPress
Mostar el ID del widget mediante código.

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 1827 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. 😉

PHP Widgets WordPress

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2023 · Código Genesis

¿Has olvidado tu contraseña?