Price history chart
El gráfico de historial de precios visualiza los cambios de precio de un producto como un gráfico sparkline SVG compacto. Los clientes pueden ver cómo cambió el precio durante un periodo elegido (30, 90 o 180 días), lo que genera transparencia y confianza en las promociones.
Activar el módulo
Section titled “Activar el módulo”Vaya a WooCommerce > Polski > Módulos de tienda y active Price history chart. El gráfico aparece automáticamente en las páginas de producto que tienen un historial de precios guardado.
Funciones
Section titled “Funciones”- Gráfico sparkline renderizado como SVG (sin dependencia de librerías JS)
- Periodos configurables: 30, 90 o 180 días
- Visualización del precio mínimo y máximo del periodo
- Relleno con degradado bajo la línea del gráfico
- Punto que indica el precio actual
- Colores del gráfico configurables en los ajustes
- Recuperación automática de datos desde el repositorio de Omnibus
Ajustes
Section titled “Ajustes”Configuración en WooCommerce > Polski > Módulos de tienda > Price history chart.
| Ajuste | Predeterminado | Descripción |
|---|---|---|
days | 30 | Periodo del gráfico en días: 30, 90 o 180 |
show_min_max | true | Mostrar el precio mínimo y máximo bajo el gráfico |
color | #2563eb | Color de la línea del gráfico y del degradado |
Opción de base de datos: polski_price_history.
Aspecto del gráfico
Section titled “Aspecto del gráfico”El gráfico se compone de los siguientes elementos:
- Línea - la evolución del precio a lo largo del tiempo (stroke SVG)
- Degradado - relleno semitransparente desde la línea hasta la parte inferior del gráfico
- Punto - el precio actual del producto (el último punto del gráfico)
- Mín/Máx - etiquetas con el precio mínimo y máximo (opcional)
El tamaño del gráfico se adapta a su contenedor. La altura predeterminada es de 60px.
Detalles técnicos
Section titled “Detalles técnicos”Origen de los datos
Section titled “Origen de los datos”El gráfico recupera los datos de la clase OmnibusPriceRepository, que almacena el historial de cambios de precio exigido por la directiva Omnibus. Cada punto de datos contiene una fecha y un precio del producto.
Para los productos variables, el gráfico se genera para la variación seleccionada actualmente (se actualiza mediante JavaScript tras un cambio de variación).
Renderizado SVG
Section titled “Renderizado SVG”El gráfico se renderiza en el lado del servidor como SVG en línea - sin librerías externas, sin peticiones HTTP, sin JavaScript para dibujar. Gracias a ello, el gráfico:
- Se muestra al instante (sin flash of unstyled content)
- Es accesible para los lectores de pantalla (aria-label)
- No afecta a los Core Web Vitals
// Change the chart period dynamicallyadd_filter('polski/price_history/days', function (int $days, int $product_id): int { // Longer period for seasonal products if (has_term('seasonal', 'product_cat', $product_id)) { return 180; } return $days;}, 10, 2);
// Change the chart position on the product pageadd_filter('polski/price_history/hook', function (): string { return 'woocommerce_single_product_summary'; // default: woocommerce_product_meta_start});
// Change the hook priorityadd_filter('polski/price_history/hook_priority', function (): int { return 25;});
// Filter the chart dataadd_filter('polski/price_history/data', function (array $prices, int $product_id): array { return $prices;}, 10, 2);Clases CSS
Section titled “Clases CSS”.polski-price-history- contenedor principal.polski-price-history__chart- elemento SVG.polski-price-history__label- etiquetas mín/máx.polski-price-history__min- precio mínimo.polski-price-history__max- precio máximo
.polski-price-history { margin: 1rem 0; padding: 0.75rem; background: #f9fafb; border-radius: 0.5rem;}ID del módulo
Section titled “ID del módulo”price_history_chart
Resolución de problemas
Section titled “Resolución de problemas”El gráfico no se muestra - compruebe si el módulo Omnibus está activado y si el producto tiene un historial de precios guardado. Los productos nuevos no tendrán gráfico hasta su primer cambio de precio.
El gráfico está vacío/plano - si el precio no cambió durante el periodo elegido, el gráfico muestra una línea plana. Es un comportamiento correcto.
Los colores del gráfico no coinciden con el tema - cambie el color en los ajustes del módulo o sobrescríbalo en CSS: .polski-price-history__chart path { stroke: #your-color; }.
Informar de problemas: github.com/wppoland/polski/issues