Descripción
Control de visibilidad de widgets te permite decidir exactamente dónde aparece cada widget en tu sitio. Muestra widgets únicamente en páginas específicas, ocúltalos a usuarios desconectados, muestra distinto contenido en diferentes categorías – todo si tener que escribir ni una sola línea de código.
¿Buscas visibilidad y programación de widgets?
Este plugin te da control sobre dónde aparecen tus widgets:
- Segmentación por página — Muestra widgets en la página de inicio, página del blog, páginas específicas o en la página de error 404
- Segmentación por URL: Muestra u widgets según la dirección de la página, utilizando
*como comodín:shop/*abarca /shop/ y todo lo que hay debajo - Segmentación por contenido — Muestra widgets únicamente en ciertas categorías, etiquetas o taxonomías personalizadas
- Selector de taxonomías en cascada – Encuentra rápidamente términos en sitios web con muchas taxonomías (compatible con WooCommerce)
- Incluir términos hijos – Asignar términos hijos automáticamente en taxonomías jerárquicas
- Segmentación por usuarios — Muestra widgets distintos a usaurios conectados y a visitantes
- Visualización basada en perfiles — Segmentación por perfiles de usuario específicos (administradores, editores, suscriptores, etc.)
- Selección por capacidades: Ve más allá de los perfiles y selecciona una capacidad específica (manage_options, edit_posts o cualquier capacidad que añadan tus plugins)
- Contenidos individuales, entradas fijas y archivos con paginación – Condiciones para cualquier contenido individual, para las entradas fijas y para la página 2 y siguientes de un archivo
- Páginas de autor — Controla la visbilidad en páginas de archivo de autor
- Archivos por fecha — Segmentación por archivos diarios, mensuales o anuales
- Compatible con tipos de contenido — Funciona con tipos de contenido personalizados y sus archivos
- Programación temporal – Programa widgets para que aparezcan solo durante intervalos de tiempo y fechas específicas. Perfecto para banners promocionales, ofertas de temporada, anuncios estacionales, rebajas durante un tiempo limitado, cuentas atrás para eventos y contenido con límite de tiempo.
- Exportación y restauración de JSON – Descarga todas tus reglas de visibilidad en un archivo y vuelve a cargarlas cuando las necesites, ya sea para integrarlas en la configuración actual o para sustituirla
Múltiples condiciones
Crea reglas de visibilidad sofisticadas combinando múltiples condiciones:
- Usa lógica OR — Se muestra si coincide ALGUNA de las condiciones
- Usa lógica AND — Se muestra únicamente si coinciden TODAS las condiciones
- Mixto y coincidente – Crea exactamente las reglas que necesites
Creado para un alto rendimiento
- Mínimas consultas a la base de datos con caché inteligente
- Solo carga recursos cuando es necesario (pantallas de widgets)
- Código limpio y optimizado siguiendo los estándares de WordPress
¿Por qué elegir este plugin?
- Ligero — Enfocado en la funcionalidad, sin características innecesarias
- Todas las funcionalidades están incluidas — No se requiere ninguna versión premium
- Compatible con Jetpack — Migra desde la visibilidad de widgets de Jetpack sin tener que volver a configurar nada
- Almacentamiento independiente — Tus reglas se almacenan por separado, a salvo de cambios de Jetpack
- Compatible con el editor de bloques: Funciona tanto con widgets clásicos como con widgets basados en bloques
- Centrado en la privacidad: Sin conexiones externas, sin seguimiento, sin recopilación de datos
- Seguridad por defecto – Sin PHP eval, sin ejecución de código arbitrario, las reglas se almacenan como datos estructurados.
¿Vienes de Jetpack?
Si has estado usando Jetpack únicamente para la visibilidad de widgets y quieres reducir los tiempos de carga de tu sitio este plugin puede ayudarte:
- No es necesaria ninguna configuración: tus reglas de visibilidad existentes se importan automáticamente al activarlo
- La misma interfaz que ya conoces: El panel de visibilidad funciona como siempre
- Mantén o limpia los datos heredados: Elige entre mantener la compatibilidad con Jetpack o hacer una limpieza completa
- Sin interrupciones: tus widgets seguirán funcionando como antes
¿Vienes de Widget Logic?
Widget Logic se retiró del directorio de plugins de WordPress.org el 14 de abril de 2026 y ya no recibe actualizaciones. Widget Visibility Control es una alternativa segura y actualizada:
- Sin PHP eval — Las reglas de visibilidad se almacenan como datos estructurados, no como código PHP ejecutable.
- Importación asistida – Al detectar datos de Widget Logic, el importador convierte las etiquetas condicionales más comunes (is_home, is_page, is_category, current_user_can, is_user_logged_in…) en reglas de visibilidad adecuadas, incluyendo listas de valores, condiciones negadas y las comprobaciones en la URL actual en las que se apoyan muchos sitios. Funciona con datos tanto de Widget Logic 5.x como de 6.x
- Funciona incluso si ya lo has eliminado – El importador lee las reglas de Widget Logic que quedan en tu base de datos, por lo que funciona tanto si el plugin sigue activo como si está desactivado o se ha eliminado
- Tú decides el nivel de dificultad – Cuando hay reglas que no podemos traducir automáticamente, el importador lo explica y te pregunta, para cada widget, si quieres importarlo como siempre visible, siempre oculto o si prefieres omitirlo.
- Conservación de los datos originales – Los datos de Widget Logic permanecen en la base de datos hasta que decidas eliminarlos, y el código original de cada widget importado se conserva como referencia incluso posteriormente.
¿Vienes de Widget Options?
Si solo utilizas Widget Options para la visibilidad y quieres un plugin más ligero y específico, sin ventas cruzadas hacia la versión pro:
- No hay versión Pro: Todas las funcionalidades están incluidas en el plugin gratuito, entre ellas la segmentación por URL con comodines.
- Primero la visibilidad – Nos dedicamos a una sola cosa y la hacemos bien, mostrar/ocultar widgets en función de las páginas, URLs, el contenido, los usuarios, los perfiles y la programación
- Interfaces compatibles – Funciona en el editor de widgets basado en bloques, el editor de widgets clásico y el personalizador.
- Prueba rápida – Instálalo junto a Widget Options para compararlos y cambia cuando tú decidas
Ideal para desarrolladores
- Sigue los estándares de código de WordPress
- Totalmente traducible con compatibilidad completa con i18n
- Ganchos y filtros de acción para personalización
- Desinstalación limpia – elimina únicamente sus propios datos
Soporte
¿Necesitas soporte privado o un desarrollo personalizado?
¿Necesitas ayuda individualizada, resolución de problemas prioritaria o una funcionalidad, integración o adaptaciones personalizadas creadas específicamente para tu sitio? Ofrezco soporte privado y desarrollos personalizados. Solo tienes que contactarme y decirme qué necesitas.
¿Necesitas ayuda o tienes sugerencias?
¿Te gusta el plugin? ¡Por favor, déjanos una reseña de 5 estrellas para ayudar a que más gente lo conozca!
Acerca de AyudaWP
Somos especialistas en plugins de optimización de seguridad, SEO, IA y rendimiento para WordPress. Creamos herramientas que solucionan problemas reales a los propietarios de sitios WordPress manteniendo los más altos estándares de programación y requisitos de accesibilidad.
Capturas





Instalación
- Sube la carpeta
widget-visibility-controla/wp-content/plugins/ - Activa el plugin desde el menú «Plugins» de WordPress
- Configura reglas de visibilidad para tus widgets (mira abajo en «Dónde encontrar los ajustes de visibilidad»).
Dónde encontrar los ajustes de visibilidad
La ubicación de los ajustes de visibilidad depende de tu interfaz de edición de widgets:
En «Apariencia > Widgets» (editor de bloques): Cuando uses los widgets de bloques nativos selecciona cualquier bloque en el área de widgets, luego busca en la barra lateral de la derecha el panel Visibilidad. Aquí puedes añadir reglas para mostrar u ocultar el bloque.
En «Apariencia > Widgets» (con el plugin Widgets clásicos): Si tienes activo el plugin Widgets clásicos haz clic en el botón de «Visibilidad» que aparece debajo de los ajustes de cada widget.
En «Apariencia > Personalizar > Widgets»: El personalizador utiliza la misma interfaz que la pantalla de widgets. Con los widgets basados en bloques, selecciona un bloque, elige «Mostrar más ajustes» en su menú de opciones y encontrarás el panel Visibilidad. Los widgets heredados conservan su botón «Visibilidad». Con los widgets clásicos haz clic en el botón «Visibilidad» situado debajo de los ajustes de cada widget.
Widgets heredados en el editor de bloques: Cuando añadas un bloque de widget heredado expande los ajustes del widget y encontrarás el botón de «Visibilidad» en la interfaz clásica dentro del bloque.
¿Vienes de Jetpack? Tus reglas de visibilidad existentes se importarán automáticamente. Visita «Apariencia Visibilidad de widgets» para revisar tus datos importados.
FAQ
-
¿Funciona con el editor de widgets basado en bloques?
-
¡Sí! Control de visibilidad de widgets funciona con todas las interfaces de edición:
- Widgets basados en bloques (Apariencia > Widgets): Los ajustes de visibilidad aparecen en el panel Visibilidad de la barra lateral derecha.
- Widgets heredados en el editor de bloques: El clásico botón de «Visibilidad» aparece dentro de la interfaz del widget heredado.
- Plugin Widgets clásicos: Si prefieres la interfaz de widgets tradicional el botón de «Visibilidad» aparece debajo de cada widget.
- Personalizador («Apariencia > Personalizar > Widgets»): se adapta a tu pantalla de widgets, por lo que aparecerá el panel «Visibilidad» con los widgets basados en bloques y el botón «Visibilidad» con los widgets clásicos.
-
Estoy usando Jetpack. ¿Se mantendrán mis reglas de visibilidad?
-
Sí. Al activarlo, el plugin importa automáticamente todas tus reglas de visibilidad de widgets de Jetpack existentes. No es necesario volver a configurar nada.
-
¿Puedo usarlo junto a Jetpack?
-
Sí, pero para evitar conflictos nuestra interfaz de visibilidad se desactiva automáticamente mientras esté activo el módulo de visibilidad de widgets de Jetpack. Puedes seguir usando la interfaz de Jetpack, y cuando desactives el módulo de Jetpack nustra interfaz lo sustituirá automáticamente. Tus reglas de visibilidad se almacenan en ambos formatos, para que la transición sea perfecta.
-
¿Qué pasa si desactivo o desinstalo este plugin?
-
Al desactivarse tus reglas se mantienen para cuando lo reactives. Al desinstalarlo solo se eliminan los datos de este plugin. Si aún no has vaciado los datos heredados Jetpack puede seguir leyendo tus reglas originales.
-
¿Puedo usar múltiples condiciones en un solo widget?
-
Sí. Puedes añadir múltiples condiciones y elegir si deben coincidir TODAS las condiciones (lógica AND) o si únicamente tiene que coincidir UNA condición (lógica OR).
-
¿Este plugin ralentiza mi sitio?
-
No. El plugin está optimizado para rendimiento, con caché inteligente. Los recursos solo se cargan en las pantallas de administración de widgets, y en la parte visible de la web las comprobaciones son mínimas y están en caché.
-
¿Requiere conexión con WordPress.com?
-
No. Este plugin funciona completamente de manera independiente, sin conexiones o dependencias externas.
-
¿Funciona con temas de edición completa del sitio (FSE)?
-
Este plugin está diseñado para áreas de widgets (barras laterales, pies de página, etc.). Los temas de edición completa del sitio normalmente no usan áreas de widgets tradicionales – en su lugar, gestionan todo el contenido mediante el editor del sitio usando partes de plantillas y bloques.
Si tu tema FSE incluye áreas de wigets el plugin funcionará en esas áreas. Si necesitas visibilidad condicional para bloques en plantillas FSE necesitarías una solución diferente, diseñada para el editor del sitio.
-
¿Cómo funciona la programación temporal?
-
La programación temporal te permite mostrar u ocultar widgets durante rangos de fechas y horas específicos. Esto es ideal para:
- Banners promocionales – Muestra anuncios únicamente durante periodos de oferta.
- Contenido estacional – Muestra automáticamente felicitaciones navideñas u ofertas de temporada.
- Ofertas por tiempo limitado – Programa widgets con cuenta atrás para oportunidades temporales.
- Anuncio de eventos – Muestra información de un evento hasta que pase la fecha del mismo.
- Avisos por tiempo limitado – Muestra advertencias de mantenimiento o anuncios temporales.
Puedes configurar:
- Mostrar solo durante un periodo – El widget solo aparece entre las fechas de inicio y fin.
- Ocultar durante un periodo – El widget permanece oculto entre las fechas de inicio y fin.
- Sin fecha de fin – El widget empieza a mostrarse a partir de una fecha específica y sigue indefinidamente.
La programación utiliza tus ajustes de zona horaria de WordPress (Ajustes > General). Si también tiene configuradas reglas de visibilidad (como «mostrar solo en la página de inicio»), deben cumplirse ambas condiciones: el widget solo aparecerá en la página de inicio Y dentro del intervalo de tiempo programado.
-
¿Cómo funciona el selector de taxonomías en sitios web con muchas taxonomías?
-
Al seleccionar «Taxonomía» como condición aparece un segundo menú desplegable en el que se elige la taxonomía específica (por ejemplo, «Categoría de producto», «Color» o «Talla»). Solo entonces se muestra en el tercer menú desplegable los términos de esa taxonomía. Este enfoque en cascada agiliza considerablemente la búsqueda del término adecuado en sitios con WooCommerce o en cualquier web con muchas taxonomías personalizadas.
En las taxonomías jerárquicas, también puedes marcar la casilla «Incluir hijas» para que se seleccionen automáticamente todos los términos secundarios del término seleccionado.
-
¿Puedo importar mis reglas desde Widget Logic?
-
Sí, tanto de Widget Logic 5.x como de 6.x, ya que utilizan el mismo formato de almacenamiento en la base de datos. Cuando el plugin detecta datos de Widget Logic aparece un aviso y una sección en «Apariencia > Visibilidad de widgets > Importar / Exportar». El importador muestra cada widget que tenga código de Widget Logic, el PHP original y la regla que hayamos extraído. Con los widgets cuyo código no podamos traducir automáticamente tú decides qué hacer con cada uno: importarlo como siempre visible, como siempre oculto u omitirlo.
-
¿Qué funciones de Widget Logic se admiten en la importación?
-
La mayoría de las etiquetas condicionales más habituales: is_home, is_front_page, is_single, is_singular (con o sin tipo de entrada), is_page (con un ID, un slug o sin ningún argumento), is_category, is_tag, is_author, is_archive, is_search, is_404, is_date / is_day / is_month / is_year, is_user_logged_in, is_sticky, is_paged, is_attachment, is_privacy_policy, is_tree, current_user_can, is_tax, has_term, has_category, is_post_type_archive, in_category y has_tag.
También se incluyen las tiendas con WooCommerce: is_product, is_shop, is_cart, is_checkout, is_account_page, is_product_category, is_product_tag e is_woocommerce.
Las reglas que son simplemente una constante (true, false o combinaciones como !(true || false)) se importan como siempre visibles o siempre ocultas.
También se admiten listas de valores, en ambas notaciones: is_page( array( 1, 2, 3 ) ) e is_page( [ 1, 2, 3 ] ). Lo mismo ocurre con las reglas negadas, como !is_home(), !is_page(2) && !is_page(3) o !( is_home() || is_category(5) ), que se importan como reglas de «ocultación».
Las comprobaciones de la dirección actual se traducen en reglas de URL:
strpos(),stripos()ostr_contains()sobre$_SERVER[“REQUEST_URI”]para «la dirección contiene»,strpos( ... ) === 0ostr_starts_with()para «la dirección empieza por», y$_SERVER[“REQUEST_URI”] == “/some/path/”para una dirección exacta. Sus formas negadas se importan como reglas de «ocultación».Se admiten combinaciones que utilicen únicamente AND o únicamente OR. Lo que aún no se puede traducir automáticamente: expresiones mixtas con AND y OR, una condición negada combinada con una positiva, wp_is_mobile, expresiones regulares, código que lea metadatos de las entradas o cualquier variable que no sea
$_SERVER[“REQUEST_URI”], y funciones personalizadas. En estos casos, el importador te indica el motivo y te pregunta qué hacer con ese widget. -
¿Cómo funciona la regla por URL?
-
Elige «URL» como tipo de regla y escribe la dirección que quieras que coincida. Basta con indicar la ruta (
shop,/shop/yshop/remiten todas a la misma página), aunque también puedes pegar la URL completa desde el navegador.Utiliza
*como comodín para cualquier secuencia de caracteres:shop/*coincide con /shop/ y todo lo que hay debajoshop*coincide con /shop/, /shop/shoes/ y también con /shopping/*/valoracionescoincide con cualquier dirección cuya última parte sea «valoraciones»*oferta*coincide con cualquier dirección que contenga la palabra «oferta»
No hay diferencia entre mayúsculas y minúsculas, ni tampoco la barra final. Cada regla contiene un patrón: para abarcar varias direcciones, añade una regla por cada una y únelas con OR.
Para examinar la cadena de consulta, escríbela después de un
?:shop?orderby=pricecoincide con /shop/ con esa consulta exacta,?*promo=*coincide con cualquier página que contenga un parámetro «promo», y*promo=summer*encuentra ese texto en cualquier parte de la dirección. Un?sin nada a continuación indica que no se solicita ninguna cadena de consulta, por lo que/?es la página de inicio únicamente cuando no le sigue nada.Dos cosas que conviene saber. Si tu sitio utiliza una caché de páginas, es posible que las reglas que dependen de los parámetros de seguimiento no varíen, ya que muchas cachés muestran la misma página almacenada independientemente de cuáles sean los valores de utm_. Además, una regla de URL solo tiene en cuenta la dirección: para mostrar un widget a determinadas personas, utiliza en su lugar las reglas por usuario, perfil o capacidad.
-
¿Se borrarán mis datos de Widget Logic después de importarlos?
-
No. Los datos originales de Widget Logic permanecen en la base de datos, por lo que puedes revertirlos si fuera necesario. Desde «Apariencia > Visibilidad de widgets > Importar / Exportar», puedes borrarlos más adelante con la opción «Eliminar datos de Widget Logic».
-
¿Puedo exportar y restaurar mis reglas de visibilidad?
-
Sí, ambas cosas. En «Apariencia > Visibilidad de widgets > Importar/Exportar», la sección «Exportar» permite descargar un archivo JSON con todas las reglas, el widget al que pertenece cada una, la versión del plugin y el sitio del que procede. La misma sección permite restaurar el archivo, por lo que funciona realmente como una copia de seguridad y como una forma de trasladar una configuración de un sitio de pruebas al de producción.
Al restaurar puedes elegir qué hacer con lo que ya hay: Fusionar solo afecta a los widgets presentes en el archivo y deja el resto tal cual, mientras que Reemplazar borra primero todas las reglas actuales para que el sitio quede exactamente como lo describe el archivo.
Las reglas se asocian a los widgets mediante su identificador (
text-3,categories-2…), para que la restauración se realice correctamente en el mismo sitio o en una copia del mismo. En un sitio diferente los identificadores pueden corresponder a otros widgets, por lo que conviene comprobar el resultado. Cualquier elemento que contenga el archivo y que esta versión no reconozca se omite y se señala y nunca se importa parcialmente. -
¿Puedo importar mis reglas desde Widget Options?
-
Todavía no. Widget Options almacena sus datos de visibilidad en un formato muy diferente al de Widget Logic y Jetpack, y desarrollar un importador es un proyecto aparte. Si solo has utilizado Widget Options para la visibilidad, puedes configurar manualmente las reglas equivalentes en nuestro plugin, que es compatible con los casos más habituales (páginas, tipos de contenido, taxonomías, perfiles de usuario y estado de inicio de sesión).
Reseñas
Colaboradores y desarrolladores
«Control de visibilidad de widgets» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
Colaboradores«Control de visibilidad de widgets» está traducido en 2 idiomas. Gracias a los traductores por sus contribuciones.
Traduce «Control de visibilidad de widgets» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.5.0
Añade una regla de URL con * como comodín, y el importador de Widget Logic ahora traduce las reglas que comprueban la URL. Corrección de seguridad: algunas solicitudes podían saltarse las reglas de los widgets clásicos. También se ha corregido el guardado en la pantalla de widgets basados en bloques y en el personalizador.
- Nuevo: Tipo de regla «URL»: muestra u oculta un widget en función de la dirección de la página. Escribe una ruta o pega una URL completa, y utiliza
*como comodín:shop/*abarca /shop/ y todo lo que hay debajo, y*sale*cualquier dirección que contenga esa palabra. También se pueden hacer coincidencias con cadenas de consulta, como enshop?orderby=price. Disponible en widgets clásicos y en widgets de bloques. - Nuevo: El importador de Widget Logic traduce las reglas que comprueban la dirección actual, como
strpos( $_SERVER[“REQUEST_URI”], “/shop/” ) !== false,str_contains(), las comprobaciones de «empieza por» y las comparaciones exactas, junto con sus formas negadas. Se convierten en reglas de URL en lugar de pedirte que decidas. - Mejorado: Se ha rediseñado la fila de reglas en los widgets clásicos. La flecha del menú desplegable ya no aparece debajo de la etiqueta «or» y del botón de borrar, y los nombres largos de páginas o términos se truncan en lugar de desbordarse fuera de la caja, algo que se notaba especialmente en los paneles estrechos.
- Mejorado: El script de widgets clásicos ya no solicita a WordPress que cargue jQuery UI, ya que nunca lo utilizaba.
- Corrección: Las reglas de visibilidad de los widgets clásicos podían eludirse. Una solicitud que incluyera determinados parámetros obtenía como respuesta todos los widgets de la página, independientemente de lo que establecieran las reglas, incluidos los widgets destinados únicamente a usuarios que hubieran iniciado sesión o a un rol concreto. Ahora, las reglas se aplican a todas las solicitudes de la parte visible de la web. Las reglas configuradas en los bloques no estaban afectadas.
- Corrección: En la pantalla de widgets basados en bloques, al guardar un área de widgets, los widgets heredados de las demás áreas podían pasar a la sección «Widgets inactivos» si en ese momento no se cumplían sus reglas, y un área que contuviera dichos widgets podía no guardarse y mostrar un error. La lista de widgets ya no se filtra fuera de las páginas de la interfaz de usuario.
- Corrección: con la interfaz clásica de widgets, las reglas modificadas en el personalizador no se guardaban: se indicaba que los cambios se habían publicado, pero se mantenían las reglas antiguas. Ahora se pueden previsualizar mientras se editan y se guardan al publicarlos.
- Corrección: En los widgets clásicos, una regla sin valor («Siempre» o una fila sin completar) situada encima de otras reglas hacía que las reglas situadas debajo perdieran su valor al guardar, por lo que el widget podía dejar de mostrarse sin previo aviso.
- Corrección: En los widgets clásicos, la opción «Incluir hijos» se perdía al guardar si se había añadido o eliminado una regla en ese widget desde que se abrieron sus ajustes.
- Corrección: En PHP 8, un bloque cuyas reglas de visibilidad no estaban bien formadas (por ejemplo, tras editar manualmente su código) provocaba un error fatal en todas las páginas en las que aparecía. Ahora se ignoran las reglas que no están bien formadas.
- Corrección: En los idiomas que se escriben de derecha a izquierda, el panel de visibilidad de los widgets clásicos se cargaba sin la mayor parte de sus estilos.
Para entradas anteriores del registro de cambios revisa el archivo changelog.txt.
