En este tutorial vamos a ver cómo mostrar un widget únicamente en las páginas de producto de WooCommerce.
Mostrar/ocultar widgets de forma condicional en WooCommerce
En algunas ocasiones nos puede interesar establecer la visibilidad del contenido de un widget en función de la página que se esté mostrando o de ciertas condiciones concretas que nos interesen.
Supongamos por ejemplo que estamos visualizando la página de nuestro blog y queremos que el calendario se muestre únicamente en ella, o pretendemos mostrar un mensaje de texto sólo a los usuarios que no han iniciado sesión para invitarlos a autentificarse.
O vayamos más allá. Imaginemos mostrar cualquier contenido de un widget de forma condicional según estemos en una categoría específica de nuestra tienda, en la página de producto, o incluso en función de la etiqueta del producto, de su tamaño o su color.
¿Suena bien, verdad? ¿Veis todas las posibilidades que tendría esto? En este caso vamos a explicar cómo podríamos hacerlo si quisiéramos mostrar un widget "Texto" exclusivamente en las páginas de producto en WooCommerce, pero este mismo método podría usarse para cualquier tipo de widget, ya sea texto con formato, imágenes, búsqueda, etc.
Si os interesa el tema y queréis aprender todo esto además de otras opciones muy útiles, podéis echar un vistazo al curso de WordPress Widgets. Y ahora, ¡vamos al lío!.
Instalando el plugin
Para hacer lo que nos traemos entre manos vamos a usar un plugin que se llama Widget Visibility Without Jetpack, el cual está desarrollado por Eduardo Larequi y un tal Joan Boluda, ¿os suena de algo, no? :).
El plugin es gratuito y lo tenéis disponible para descargar en el repositorio de WordPress. Como podremos imaginar su función está bastante clara, este plugin nos va a permitir configurar y controlar la visibilidad de los widgets para que aparezcan o se oculten en determinadas páginas y/o bajo ciertos criterios.
Tal y como se indica en su descripción, está basado en el módulo Widget Visibility del conocido plugin Jetpack, y de ahí toma su nombre. Es decir, si no tenemos instalado Jetpack y queremos beneficiarnos de esta funcionalidad podemos instalar y activar Widget Visibility Without Jetpack y listo.
Así que vamos a comenzar. Lo primero es lo primero, si lo hemos descargado en nuestro equipo tenemos que ir al escritorio de WordPress, "Plugins/Añadir nuevo/Subir plugin", seleccionar el archivo comprimido para subirlo, instalarlo y por último como siempre activarlo para poder comenzar a usarlo. Si preferimos utilizar directamente el buscador, pues ya sabéis, sería simplemente ir a "Plugins/Añadir plugin", escribir el nombre del mismo, y una vez localizado, instalarlo y activarlo.
Cuando lo hagamos no veremos cambios directamente en las opciones del menú como suele pasar otras veces, sino que las encontraremos en los widgets. Así que vamos a ir a "Apariencia/Widgets" y desplegaremos un widget que tengamos ubicado en cualquiera de las widget areas disponibles.
En esta ocasión vamos a hacerlo con un widget "Texto" que hemos añadido previamente. Al abrirlo, veremos que nos muestra un nuevo botón junto al de "Guardar", que dice "Visibilidad".

Configurar widget visibilidad condicional WooCommerce
Al hacer clic sobre el mismo se mostrarán varias opciones. La primera será para "Mostrar" u "Ocultar" el widget en cuestión. Después tendremos que definir los requisitos que deben cumplirse para que el widget se muestre o no.

Opciones visibilidad Widget Visibility Without Jetpack
Podremos optar por una categoría concreta, un autor, un rol de usuario, una página o un tipo de contenido entre otros criterios y, en función de esto, establecer la condición, incluso concatenar varias. Venga, pues vamos a verlo con el ejemplo.
Mostrar widget Texto sólo en páginas de producto
En nuestro caso queremos que este widget Texto sólo se muestre en la página de producto, ni en la tienda, ni en otras. El tema es que actualmente podría verse en más páginas, ya que aún no hemos realizado ningún ajuste para modificar la visibilidad del mismo:

Tienda WooCommerce con widget Texto
Así que veamos qué tendríamos que hacer. Volvemos al apartado "Visibilidad" del widget en cuestión y, de entre todas todas las opciones posibles, elegiremos lo siguiente:

Configuración mostrar widget sólo en páginas de producto
En el primer campo la opción marcada será "Mostrar", ya que queremos que este texto aparezca en la página de producto. Ahora tendríamos que decirle dónde, para ello elegiremos "Tipo de contenido", y después "Producto", que indicaría la página de producto individual. Después guardamos y volveremos a nuestra tienda para comprobar que todo ha quedado correctamente configurado.

Tienda WooCommerce sin widget Texto
Pues bien, como vemos la tienda ya no muestra el widget, pero sí que aparece en la página individual del producto.

Página de producto individual con widget Texto
Así que ¡ya hemos terminado! ¿Veis todas las variaciones que podemos crear usando widgets de forma condicional? Y es muy muy fácil :).
Resumen y conclusión
Plugins como Widget Visibility Without Jetpack resultan muy útiles a la hora de modificar la visibilidad de los widgets según unas condiciones que indiquemos.
En este caso hemos visto cómo mostrar un widget de texto sólo en las páginas de producto, pero podríamos hacerlo con cualquier widget, ya sea nativo de WordPress o propio de otros complementos. Si os interesa todo este tema os recomendamos echar un vistazo al curso de WordPress Widgets.
¡Y esto es todo! Si os apuntáis a boluda.com podréis acceder a este curso y a muchos otros. Tenéis más de 5718 vídeos a vuestra disposición :)