Descubre con este tutorial cómo introducir un widget de forma condicional solo las entradas de una categoría de WordPress mediante código.
A raíz del tutorial donde explicaba cómo crear un nuevo área de widgets en Genesis Framework, Gustavo, suscriptor de Código Genesis, me preguntó:
Saludos, Nahuai.
Muy bien por este post, me parece de mucha utilidad.
Una pregunta: ¿Es factible poner widgets condicionales?
Me explico: Si queremos que se vean en una etiqueta determinada solamente o en una página determinada, no en toda la plantilla.
¿Interesante, verdad? Así que me puse manos a la obra. 😉
Ya te expliqué cómo hacerlo para usuarios logueados o páginas y entradas únicas.
En este caso, vas a aprender cómo mostrar un widget solo en entradas que sean de una determinada categoría.
Con esta base, podrás realizar pequeños cambios para que el código se ajuste tus necesidades específicas.
Vamos allá:
Pasos para mostrar un widget solo en un categoría
1. Visualiza el ID del widget en WordPress
Primero necesitas saber el ID del widget en cuestión.
Pero, por defecto, la caja donde rellenas en contenido de los widgets no muestra el ID.
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 ves ahora al entrar en la edición del widget:
2. Carga el widget únicamente en entradas de una categoría
Ahora que ya conoces el ID del widget puedes usar la lógica condicional sobre él.
En es este caso vas a utilizar las etiquetas condicionales is_singular() y has_term().
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 solo cargue el widget que le has indicado en las entradas de la categoría «noticias» .
Puedes cambiar tanto la categoría cómo el ID del widget (en este caso, enews-ext-2) para conseguir el efecto deseado.
Conclusión
Con unas pocas líneas de código puedes conocer el ID del widget y mostrarlo/ocultarlo de forma condicional en las entradas de una determinada categoría.
¿Alguna duda? Te leo en los comentarios.
Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto.
Ventajas de ser suscriptor. 😉
Tutoriales relacionados
- https://codigogenesis.com/anadir-nuevo-area-widget-genesis-framework/
- https://codigogenesis.com/ocultar-widget-usuarios-logueados-sin-plugins-wordpress/
- https://codigogenesis.com/mostrar-widget-condicional-pagina-wordpress/
- https://codigogenesis.com/mostrar-widget-condicional-entrada-wordpress/
- https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/
- https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/