REYCOB VISUAL PRODUCT FILTERS
==========================================

Versión 2.8.6

Descripción
-----------
Reycob Visual Product Filters amplía la presentación y compra de productos con variaciones visuales, menús de categorías y atributos, filtros AJAX, controles de cantidad y carrito, cotizaciones por WhatsApp, badges condicionales, imágenes dinámicas para loops y reseñas con fotografías.

Funciones principales
---------------------
- Selectores visuales de color, talla y demás atributos en productos variables.
- Muestras compactas de color dentro de loops, con actualización inmediata de imagen y precio.
- Selectores manuales de Medida, Largo, Formato u otro atributo dentro de loops.
- Filtros AJAX para precio, categorías y atributos en tienda, categorías y páginas normales.
- Constructor de menús visuales con categorías y atributos, imágenes, orden manual y columnas responsive.
- Cantidad, stock, total dinámico, añadir al carrito y Comprar ahora mediante shortcodes.
- Barra fija de compra para productos individuales.
- Modo opcional de cotización por WhatsApp para productos y loops.
- Imagen de producto para Elementor con segunda imagen al pasar el cursor.
- Asignación masiva de imágenes a variaciones que compartan un atributo.
- Badges automáticos de descuento, oferta y producto nuevo.
- Resumen de valoración con promedio, estrellas, total y distribución por puntuación.
- Listado de reseñas con estrellas, compra verificada, comentarios e imágenes.
- Formulario de reseña exclusivo para usuarios conectados y compatible con la moderación de WordPress.

Cambios 2.7.1
-------------
- Elimina la cabecera Plugin URI duplicada y conserva la URL del autor.

Cambios 2.7.0
-------------
- Muestra los filtros activos como etiquetas que se pueden quitar individualmente.
- Añade búsqueda local sin distinguir tildes en listas con ocho opciones o más.
- Muestra el número de filtros activos en el botón móvil.
- Mejora la navegación por teclado y permite cerrar el panel móvil con Escape.
- Evita que respuestas antiguas sustituyan resultados de filtros más recientes.

Cambios 2.6.2
-------------
- Corrige los filtros en tiendas con varios Loop Grid de Elementor.
- Actualiza siempre el catálogo visible y empareja el mismo widget en la respuesta filtrada.

Cambios 2.6.1
-------------
- Respeta los valores por defecto vacíos de WooCommerce en los selectores de color del loop.
- Mantiene todos los colores sin marcar y conserva la imagen principal hasta que el cliente elige una opción.

Cambios 2.6.0
-------------
- Añade el constructor Menús visuales como submenú independiente del plugin.
- Permite combinar categorías de producto y términos de atributos en una misma configuración.
- Permite personalizar imagen y título, y ordenar los elementos arrastrando.
- Permite elegir entre una y cuatro columnas en escritorio y una o dos en teléfono.
- Genera un shortcode independiente [reycob_menu_visual id="identificador"] para cada menú.

Cambios 2.5.1
-------------
- Añade el modo automático [reycob_variacion_loop atributo="auto"] para que cada producto muestre su propio atributo de variación.
- Oculta por completo el widget del shortcode cuando el producto no tiene variaciones, evitando espacios vacíos en los loops.
- Prioriza atributos distintos de Color en el modo automático y utiliza Color cuando es el único disponible.

Cambios 2.5.0
-------------
- Añade [reycob_variacion_loop] para mostrar en loops un atributo elegido por el administrador.
- Incorpora un generador de shortcode por atributo en Swatches & Reviews > Shortcodes.
- Sincroniza la variación elegida en cada tarjeta con precio, stock, cantidad, total, carrito y WhatsApp.
- Mantiene independiente el selector compacto de colores existente.

Cambios 2.4.1
-------------
- Mueve la configuración a un menú independiente con las secciones Ajustes, Shortcodes y Guía de uso.
- Permite elegir la página a la que dirige el enlace para iniciar sesión antes de publicar una reseña.
- Usa Mi cuenta de WooCommerce como página de acceso predeterminada.
- Añade una opción para desactivar la barra fija de compra, que continúa activa de forma predeterminada.

Cambios 2.4.0
-------------
- En esa versión se mantuvo el nombre original del plugin; desde la aprobación en WordPress.org se usa Reycob Visual Product Filters.
- Añade [reycob_resumen_resenas] para mostrar puntuación, estrellas y desglose por calificación.
- Añade [reycob_resenas_producto] para listar reseñas y recibir opiniones con comentario e imagen.
- Permite imágenes JPG, PNG o WEBP de hasta 5 MB en las reseñas.
- Conserva las reseñas como comentarios nativos del producto y respeta la moderación de WordPress.

Cambios 2.3.9
-------------
- Aisla las acciones interactivas de compra dentro del editor de Elementor.
- Evita renderizar la barra fija de producto en el lienzo de edicion.
- Mantiene intacto el comportamiento completo en la web publicada.

Cambios 2.3.8
-------------
- Oculta de forma global el enlace automatico Ver carrito que inserta WooCommerce.
- Añade un modo opcional de compras por WhatsApp que reemplaza los controles reales de carrito por Cotizar.
- Extiende las cotizaciones por WhatsApp a los loops con producto, cantidad y atributos de la variacion seleccionada.
- Conserva intactos los enlaces normales configurados con post_url.

Cambios 2.3.7
-------------
- Cambia Elige tus opciones a un encabezado H2 en la ficha individual.
- Permite configurar un numero de WhatsApp y usar la clase `.whatsap` en cualquier boton.
- Genera la cotizacion con producto, cantidad y todos los atributos seleccionados.

Cambios 2.3.6
-------------
- Respeta los botones y enlaces configurados con post_url; solo `.total` activa la compra AJAX heredada.
- Añade el shortcode opcional [reycob_comprar_ahora] para agregar la selección y abrir Finalizar compra.

Cambios 2.3.5
-------------
- Convierte automaticamente el boton de Elementor de los productos relacionados en una compra AJAX.
- Usa una variacion disponible del color seleccionado y prioriza los atributos predeterminados del producto.
- Compacta el boton de la barra fija en pantallas de telefono.

Cambios 2.3.4
-------------
- Evita que los botones de carrito con la clase `.total` activen el enlace de la tarjeta del producto.
- Fija en cada boton el producto correcto para impedir cruces entre productos relacionados o loops anidados.

Reycob Visual Product Filters es una herramienta adaptable para tiendas con productos simples o variables.

Requisitos
----------
- WordPress con WooCommerce activo.
- Los filtros descubren automáticamente todos los atributos globales creados en WooCommerce.
- Los productos variables deben tener sus atributos marcados para variaciones.

Instalación
-----------
1. Comprime la carpeta "reycob-filtros-visuales" como archivo ZIP.
2. En WordPress entra a Plugins > Añadir plugin > Subir plugin.
3. Instálalo y actívalo.
4. Entra a Swatches & Reviews > Ajustes para configurar el plugin.

Producto individual
-------------------
1. Usa [reycob_selector_producto] para talla, color y variaciones.
2. Usa [reycob_cantidad] para la cantidad.
3. Usa [reycob_total_producto] si deseas mostrar el precio multiplicado.
4. Añade la clase CSS "total" a tu botón de Elementor.

El control de cantidad muestra el stock justo debajo. En productos variables se actualiza al elegir la combinación, limita el botón + a las unidades disponibles y conserva los errores del carrito en una línea separada.

Como alternativa al botón Elementor, usa [reycob_boton_carrito].

Opciones de color en loops
---------------------------
Usa [reycob_opciones_loop] dentro de una plantilla Loop Item. El shortcode muestra únicamente muestras pequeñas de color y no muestra tallas. Al pulsar un color, el precio y la imagen cambian dentro de la misma tarjeta. El botón Elegir opciones conserva ese color al abrir la ficha, pero nunca añade una talla no seleccionada al carrito.

Puedes limitar la cantidad visible con:
[reycob_opciones_loop max_colores="4"]

El valor permitido va de 1 a 12. Si existen más colores, se muestra un enlace compacto con la cantidad restante.

Variaciones elegidas en loops
-----------------------------
Desde Swatches & Reviews > Shortcodes elige un atributo global y copia el código generado. Por ejemplo:

[reycob_variacion_loop atributo="auto"]

El modo automático permite usar un único shortcode en toda la plantilla. Cada producto muestra su primer atributo útil, como Medida, Potencia, Capacidad, Voltaje o Formato. Si un producto no tiene variaciones, el shortcode y su widget se ocultan sin dejar espacio en la tarjeta.

Para mostrar siempre un atributo específico usa, por ejemplo:

[reycob_variacion_loop atributo="pa_medida"]

Colócalo dentro de la plantilla Loop Item junto a [reycob_cantidad] y [reycob_total_producto]. Al elegir una medida, formato, largo u otra opción, la misma tarjeta actualiza su variación, precio, imagen, stock y total. Los botones de carrito, Comprar ahora y WhatsApp reciben esa selección.

También puedes ocultar el nombre del atributo o limitar las opciones visibles:

[reycob_variacion_loop atributo="pa_medida" mostrar_etiqueta="no" max_opciones="6"]

Imagen de producto para loops
-----------------------------
En Elementor busca el widget "Reycob Imagen de producto" y colócalo dentro de la plantilla Loop Item. Muestra la imagen principal y, al pasar el cursor, la primera imagen de la galería. También responde al color elegido desde [reycob_opciones_loop].

El widget permite elegir un tamaño registrado o indicar dimensiones visuales personalizadas de ancho y alto en píxeles. En este modo utiliza una fuente de imagen completa y válida para evitar tamaños inexistentes o imágenes rotas. También incluye ajuste de imagen, enlace al producto, efecto de segunda imagen, escala, duración, borde, radio y sombra.

Imágenes masivas de variaciones
-------------------------------
En la edición de un producto variable abre Datos del producto > Variaciones. El bloque "Imagen masiva por atributo" permite elegir cualquier atributo, uno de sus valores y una imagen. Al aplicarla, la misma imagen se guarda en todas las variaciones coincidentes, incluso si están en otras páginas de la lista. Por ejemplo, Color: Blanco actualiza Blanco / M, Blanco / S y Blanco / XS en una sola acción.

Badges dinámicos
----------------
- [reycob_badge_descuento] muestra el porcentaje real únicamente cuando el producto tiene una oferta activa.
- [reycob_badge_oferta] muestra OFERTA únicamente mientras el producto esté en oferta.
- [reycob_badge_nuevo] muestra NUEVO solo para los cinco productos publicados más recientemente.

Los shortcodes pueden colocarse juntos y cada condición se evalúa de manera independiente. El color y el tamaño de texto de cada badge se configuran por separado desde Swatches & Reviews > Ajustes. No incluyen fondos ni otros estilos visuales. Para personalizarlos utiliza las clases .reycob-product-badge, .reycob-product-badge--descuento, .reycob-product-badge--oferta y .reycob-product-badge--nuevo.

Cuando una condición no se cumple, el badge y su contenedor visual de shortcode en Elementor se ocultan por completo. De esta forma no quedan puntos, fondos, bordes ni espacios residuales.

Ejemplos:
[reycob_badge_descuento texto="AHORRA {porcentaje}%"]
[reycob_badge_oferta texto="PROMOCIÓN"]
[reycob_badge_nuevo texto="RECIÉN LLEGADO"]
[reycob_badge_oferta id="123"]

El marcador {porcentaje} se sustituye por el descuento calculado. El atributo id permite consultar un producto específico fuera de una plantilla o loop.

Reseñas de productos
--------------------
Usa los dos shortcodes dentro de una plantilla de Producto individual:

[reycob_resumen_resenas]

Muestra una línea compacta con puntuación media, estrellas y cantidad de opiniones. Al abrirla presenta la distribución de cinco a una estrella. Puedes consultar un producto específico con:

[reycob_resumen_resenas id="123"]

[reycob_resenas_producto]

Muestra las reseñas aprobadas, la insignia Compra verificada cuando corresponde, las imágenes aportadas por clientes y el formulario para publicar una nueva opinión. Solo los usuarios conectados pueden enviar reseñas.

Opciones disponibles:
[reycob_resenas_producto por_pagina="6"]
[reycob_resenas_producto titulo="Opiniones de clientes"]
[reycob_resenas_producto id="123"]

Cada envío exige una calificación de una a cinco estrellas y un comentario. La imagen es opcional y acepta JPG, PNG o WEBP de hasta 5 MB. Las opiniones pendientes no se muestran hasta ser aprobadas cuando la moderación está activa en WordPress.

Filtros de tienda
-----------------
1. Edita la plantilla Archivo de productos en Elementor Theme Builder.
2. Coloca [reycob_filtros_tienda] en un widget Shortcode.
3. Coloca a su lado un Loop Grid o el widget Productos del archivo.
4. Publica la plantilla para Todos los archivos de productos.

También puedes colocar [reycob_filtros_tienda] en cualquier página normal. En ese caso Reycob genera automáticamente una cuadrícula de resultados si no existe un catálogo en la página. Es compatible con loops clásicos, Elementor Loop Grid y estructuras de WooCommerce Blocks.

El catálogo se detecta automáticamente y se actualiza al marcar opciones o mover el precio. Solo se permite una selección dentro de cada grupo: una talla, un color, una marca y una categoría. No hay botón Aplicar ni recarga completa de página.
En categorías y subcategorías solo aparecen los filtros y valores utilizados por los productos de esa sección.

Opciones:
[reycob_filtros_tienda precio="no"]
[reycob_filtros_tienda categorias="no"]
[reycob_filtros_tienda categoria="ropa"]
[reycob_filtros_tienda por_pagina="12"]
[reycob_filtros_tienda resultados="si"]
[reycob_filtros_tienda destino=".mi-catalogo" resultados="no"]

La categoría puede indicarse por slug o ID. La opción resultados acepta auto, si o no. En auto, la cuadrícula propia solo se crea cuando el shortcode se usa fuera de un archivo de productos.

Configuración
-------------
- Swatches & Reviews > Ajustes permite configurar el acceso de las reseñas, la barra fija, WhatsApp, cantidad, precio, botones y estados visuales.
- Swatches & Reviews > Shortcodes reúne todos los códigos para copiarlos.
- Swatches & Reviews > Guía de uso explica la instalación de cada función.
- Productos > Atributos > Color permite asignar el color de cada muestra.
- Los estilos incluyen estados hover, focus-visible, active, disabled, loading y added con selectores protegidos frente a Hello Elementor.
- El panel incluye una guía de todos los shortcodes con botones para copiarlos al portapapeles.
ACTUALIZACION 2.8.2 - OPCIONES ADAPTABLES Y DATOS DEL PRODUCTO

Los cuadros de opciones ajustan columnas y altura al ancho del filtro.
Comprar ahora: [reycob_comprar_ahora]. En Ajustes > Apariencia del plugin
configura sus colores normal/hover, radio de borde y tamano de texto.
Para CSS propio utiliza .buy; no modifica Anadir al carrito.
[reycob_informacion_producto] muestra la tabla de informacion adicional:
atributos visibles, peso y dimensiones, segun los datos guardados en WooCommerce.
Tambien admite [reycob_informacion_producto id="123"].

ACTUALIZACION 2.8.1 - TITULO, PRECIO Y VALORACION PARA LOOPS

[reycob_titulo_loop] reemplaza el titulo de cada tarjeta: dos lineas como
maximo, puntos suspensivos y espacio de dos lineas para mantener alineacion.
[reycob_precio_loop] reemplaza el precio: actual destacado y anterior tachado
en ofertas. Variables muestran el precio de su variacion mas economica,
no un rango; el precio anterior pertenece a esa misma variacion.
Es un precio unitario inicial, no un total ni un selector de variaciones.
[reycob_valoracion_loop] muestra estrellas y numero de opiniones, con enlace
a #reviews. Sin opiniones muestra estrellas vacias y (0).
[reycob_resumen_resenas] sigue disponible si prefieres el resumen desplegable.
Coloca los shortcodes en el Loop Item y retira los widgets anteriores de titulo,
precio o valoracion para no duplicarlos. Todos admiten id="123" fuera del loop.

ACTUALIZACION 2.8.0 - MEGAMENU AUTOMATICO POR GRUPOS

[reycob_megamenu]
Trae categorias disponibles y todos los atributos globales con productos.
Cada atributo aparece como titulo y debajo sus terminos. No requiere ID.
Cada termino enlaza a la tienda con su filtro; las categorias a su archivo.
Swatches & Reviews > Megamenu automatico muestra una vista previa editable:
arrastra grupos y terminos (o usa sus flechas), modifica los titulos y guarda.
Selecciona entre dos y seis columnas en escritorio. En telefono muestra dos.
Los nuevos atributos y terminos se incorporan automaticamente al final.
[reycob_megamenu hide_empty="0"] incluye tambien opciones sin productos.
Este estilo hereda el color del contenedor de tu tema o Elementor.
Menus visuales y [reycob_menu_visual id="..."] permanecen intactos.
Los modos de lista [reycob_megamenu taxonomy="pa_marca"] y los menus con
id explicito siguen disponibles como antes.
El contenedor desplegable lo administra tu tema o Elementor.

ACTUALIZACION 2.7.10 - ORDEN MANUAL DE CATEGORIAS

El carrusel y el megamenu automatico de categorias respetan el orden manual
de Productos > Categorias de WooCommerce, tanto principales como subcategorias.
Reordena las categorias arrastrandolas desde esa pantalla.
Si usas ids="12,34,56", se respeta el orden de esos IDs.
Si usas id="identificador", se respeta el orden del menu visual guardado.

ACTUALIZACION 2.7.8 - FILTROS CON IMAGEN O COLOR (OPCIONAL)

En Swatches & Reviews > Ajustes > Apariencia de los filtros puedes elegir por
atributo: Automatico (actual), Lista, Muestras de color o Imagenes.
Automatico conserva el diseno existente sin cambiar tu tienda.
En Productos > Atributos > Configurar terminos edita cada color/opcion para
asignar su color y seleccionar una imagen desde la biblioteca de medios.
El modo Imagenes muestra miniaturas cuadradas con borde al seleccionar y el
nombre elegido junto al titulo. Si falta la imagen, utiliza la muestra de color.
Se mantiene el shortcode [reycob_filtros_tienda] y su filtrado AJAX existente.
Estos ajustes no modifican los selectores de variaciones de los productos.

ACTUALIZACION 2.7.7 - NAVEGACION DE CATEGORIAS

[reycob_categorias_carrusel title="Categorias principales" parent="0"]
Muestra categorias principales: cinco visibles en escritorio y dos en telefono.
Desliza o usa las flechas. Cada tarjeta abre su categoria.
Imagen desde Productos > Categorias > Miniatura, marco cuadrado 500x500 sin deformar.
Las nuevas subidas generan el tamano 500x500; imagenes antiguas usan su archivo
disponible dentro del mismo marco. Regenera miniaturas si necesitas el archivo
fisico de 500x500 para imagenes ya existentes.

[reycob_categorias_carrusel parent="123" title="Subcategorias"]
123 es el ID de la categoria padre. Omite parent para incluir todos los niveles.
ids="12,34,56" permite elegir y ordenar categorias concretas.
hide_empty="1" oculta categorias sin productos (predeterminado: 0).
view_all="https://tu-tienda.com/tienda/" agrega el enlace Ver todas.

[reycob_megamenu taxonomy="product_cat"]
Modo de lista simple de categorias en cuatro columnas de seis enlaces (24 por bloque).
Si hay mas, continua con otro bloque debajo. En telefono hay dos columnas.

[reycob_megamenu taxonomy="pa_marca" title="Marcas"]
Sustituye pa_marca por el nombre real del atributo global.
Enlaza a la tienda con el filtro del atributo aplicado.

Para mezclar categorias y atributos, crea y ordena un menu en Menus visuales:
[reycob_megamenu id="identificador"]
[reycob_categorias_carrusel id="identificador" title="Explora la tienda"]
Ambos pueden insertarse en Elementor/megamenus que admitan shortcodes.
El shortcode no sustituye ni instala el contenedor desplegable del tema.

ACTUALIZACION 2.7.6 - PREFIJOS
El shortcode generico [custom_quantity] ya no se registra. En tus paginas o plantillas sustituyelo por [reycob_cantidad] o [reycob_quantity].
Las acciones AJAX y sus nonces ahora usan reycob_fv_. Limpia la cache de pagina y optimizacion de JavaScript al actualizar.
Los ajustes, colores y enlaces de filtros antiguos se conservan mediante lecturas de compatibilidad; no se crean datos nuevos con los prefijos anteriores.

