Wo WooCommerce Principiante

DataFirefly Inflation Pricing para WooCommerce

Subir masivamente los precios de WooCommerce conservando precios psicológicos como 59, 89 o 569.

Actualizado Versión del módulo 1.0.0

Qué hace el plugin

DataFirefly Inflation Pricing aplica un porcentaje a todo tu catálogo de WooCommerce o a una parte, y luego ajusta cada precio obtenido a una escala de precios psicológicos que tú defines. Una subida del 3 % sobre un producto de 59 no da 60,77 sino 60,90, o 69 si prefieres números enteros terminados en 9.

El recorrido completo se hace en tres tiempos: describes el ámbito y el porcentaje, el plugin calcula todos los precios nuevos y te los presenta en una tabla, y después validas. Nada se escribe en la base de datos antes de esa validación, y cada precio anterior se conserva para permitir la reversión.

Instalación

  1. Descarga el archivo ZIP desde tu cuenta de cliente DataFirefly.
  2. En la administración de WordPress, ve a Plugins y luego Añadir nuevo plugin y haz clic en Subir plugin.
  3. Selecciona el archivo ZIP, instálalo y actívalo.
  4. Aparece un menú nuevo en WooCommerce, Inflation Pricing.

La activación crea dos tablas: wp_df_inflation_campaigns para las campañas y wp_df_inflation_items para las líneas de precio. El prefijo sigue el de tu instalación.

Requisitos: WordPress 5.8 o superior, WooCommerce 6.0 o superior, PHP 7.4 o superior. El plugin declara su compatibilidad con HPOS y con los bloques de carrito y pago al arrancar.

Las tres pantallas

Nueva campaña

Es la pantalla de trabajo principal. Reúne tres tarjetas: Subida, Ámbito y Redondeo. Aquí construyes la campaña y lanzas la vista previa.

Historial

La lista de todas las campañas con su estado. Desde esta página consultas el detalle línea a línea de una campaña, aplicas una campaña pendiente, reviertes una campaña aplicada o eliminas una campaña que ya no necesitas.

Reglas de redondeo

Los ajustes globales: tramos de redondeo, sentido, garantía de subida, base de cálculo con o sin impuestos, tamaño de los lotes y comportamiento en la desinstalación. Un simulador al final de la página muestra el resultado sobre precios de ejemplo.

Entender los tramos de redondeo

Un tramo se define con tres valores:

  • Se aplica hasta: el límite superior de la franja de precios afectada. El valor 0 significa sin límite, y designa por tanto el tramo que trata todos los precios por encima de los demás.
  • Paso: la diferencia entre dos precios posibles.
  • Terminación: el desplazamiento aplicado a esa diferencia.

El precio final siempre equivale al paso multiplicado por un entero, más la terminación. Algunos ejemplos:

  • Paso 10, terminación 9 da 9, 19, 29, 59, 89, 569, 899
  • Paso 1, terminación 0,90 da 9,90, 14,90, 60,90, 99,90
  • Paso 5, terminación 4 da 24, 29, 124, 129, 134
  • Paso 0,50, terminación 0,40 da 4,40, 4,90, 9,40, 9,90
  • Paso 100, terminación 99 da 599, 1299, 2499

La terminación debe ser inferior al paso, si no deja de tener efecto visible. Un paso de 1 con terminación 9 produce simplemente todos los enteros.

El tramo se elige según el precio de origen

Para evitar que un producto situado justo por debajo de un límite salte a una franja mucho más gruesa, el tramo usado es el del precio actual del producto, no el del precio calculado. Un artículo de 19,90 sigue tratándose con el tramo de precios bajos aunque la subida lo lleve por encima de 20.

El equilibrio entre legibilidad y precisión

Es el punto más importante que hay que entender antes de lanzar una campaña. Cuanto más gruesa es la escala de redondeo, más se aleja la variación real del porcentaje solicitado.

Tomemos una subida del 3 % sobre un producto de 59. El precio bruto calculado es 60,77. Según la escala elegida:

  • Paso 1, terminación 0,90 da 60,90, es decir +3,2 %
  • Paso 5, terminación 4 da 64, es decir +8,5 %
  • Paso 10, terminación 9 da 69, es decir +16,9 %

Ningún plugin puede esquivar esta aritmética: si exiges precios enteros terminados en 9, la diferencia mínima entre dos precios es de 10, lo que representa un 17 % sobre 59. El plugin no oculta ese hecho, lo hace visible antes de escribir gracias al simulador, a la columna Variación de la vista previa y al techo por campaña.

Una regla sencilla: el paso debe ser pequeño frente a los precios de la franja. Un paso de 1 sobre precios entre 20 y 100 produce diferencias del 1 al 5 %, coherente con una inflación anual. Un paso de 10 sobre esa misma franja no lo es.

Los preajustes

Cinco preajustes rellenan la tabla de tramos con un clic desde la pestaña Reglas de redondeo.

  • Equilibrado: el ajuste por defecto. Hasta 10 paso 0,50 terminación 0,40, hasta 100 paso 1 terminación 0,90, hasta 300 paso 5 terminación 4, por encima paso 10 terminación 9. La variación real se mantiene entre el 2 y el 5 % para un objetivo del 3 %.
  • Enteros terminados en 9: hasta 100 y por encima, paso 10 terminación 9. Obtienes exactamente 59, 89, 569, 899. Las desviaciones en precios bajos son importantes.
  • Enteros terminados en 4 o 9: paso 5 terminación 4 por debajo de 100, paso 10 terminación 9 por encima. Un compromiso habitual en retail.
  • Decimales terminados en ,90: paso 1 terminación 0,90 por debajo de 100, paso 10 terminación 9,90 por encima.
  • Sin redondeo psicológico: paso 0,01 terminación 0. El porcentaje se aplica al céntimo.

Los preajustes son solo un punto de partida. Puedes añadir, quitar o modificar tramos libremente y luego guardar.

Sentido del redondeo y garantía de subida

Sentido

  • Precio psicológico más cercano: el comportamiento recomendado. El precio calculado se desplaza al valor más próximo de su tramo, por encima o por debajo.
  • Siempre hacia arriba: el precio sube sistemáticamente al siguiente valor. Los márgenes quedan protegidos pero las subidas reales suelen superar el objetivo.
  • Siempre hacia abajo: el precio baja al valor inferior. Reservado a las bajadas de precio.

Garantía de subida

Con el sentido al más cercano, un porcentaje pequeño puede quedar absorbido por completo por el redondeo. Una subida del 3 % sobre 59 da 60,77, y el precio más cercano en una escala de 10 sigue siendo 59: el precio no se mueve.

La opción Nunca dejar que el redondeo anule la subida corrige ese caso empujando al siguiente valor mientras el resultado siga siendo igual o inferior al precio de partida. Solo actúa sobre porcentajes positivos. Para una bajada de precio, desmárcala.

Redondeo sobre el precio con impuestos o sobre el precio almacenado

WooCommerce almacena los precios sin o con impuestos según el ajuste Introducir precios con impuestos. Si tu tienda almacena precios sin impuestos y muestra precios con impuestos, redondear el valor almacenado no produce nada legible para el cliente: 49,17 sin impuestos con un 20 % de IVA da 59,00 con impuestos, pero 49,00 da 58,80.

El ajuste Redondear sobre ofrece dos comportamientos:

  • El precio que ve el cliente, con impuestos: el plugin convierte el precio almacenado según la clase de impuesto del producto, aplica el redondeo sobre ese valor y luego lo reconvierte con cuatro decimales antes de guardar. Es el ajuste por defecto.
  • El precio almacenado: el redondeo se aplica directamente al valor guardado en base de datos, sin conversión.

Si tu tienda ya almacena precios con impuestos, o si los impuestos están desactivados, ambos ajustes producen el mismo resultado. Los productos marcados como no imponibles no pasan por ninguna conversión.

Construir una campaña

Tarjeta Subida

  • Nombre de la campaña: opcional, se genera un nombre con fecha si lo dejas vacío.
  • Porcentaje: positivo para subir, negativo para bajar. Se aceptan dos decimales.
  • Precios de oferta: consulta la sección dedicada más abajo.
  • Ignorar un producto si la variación real supera X %: la salvaguarda principal. Con un objetivo del 3 % y un techo del 6 %, todo producto cuyo redondeo produjera una subida superior al 6 % queda fuera de la campaña, con el motivo indicado en la vista previa. Deja el campo vacío para desactivar este control.

Tarjeta Ámbito

  • Categorías a incluir: déjalo vacío para tratar todo el catálogo. Las subcategorías de las categorías elegidas se incluyen automáticamente.
  • Categorías a excluir: prioritaria sobre la inclusión, subcategorías incluidas.
  • Etiquetas: restringe a los productos con alguna de las etiquetas marcadas.
  • Tipos de producto: simple, variable, externo, agrupado. Marcar variable trata las variaciones, no el producto padre que no tiene precio propio.
  • Estado de los productos: publicado, borrador, privado, pendiente. Para las variaciones se evalúa el estado del producto padre.
  • Precio regular comprendido entre: dos límites opcionales evaluados sobre el precio regular guardado.
  • Ignorar los productos actualmente en oferta: descarta los productos con precio de oferta informado.
  • Excluir estos ID o SKU y Limitar a estos ID o SKU: listas libres separadas por comas, espacios o saltos de línea. Los SKU se resuelven a identificadores en el momento de la selección. En un producto variable, indicar el ID del padre cubre todas sus variaciones.

Tarjeta Redondeo

Por defecto la campaña usa las reglas globales, recordadas en la parte superior de la tarjeta. Marca Sustituir las reglas globales para esta campaña para ajustar el sentido, la garantía de subida y la base de cálculo solo en esta campaña. Los tramos siguen siendo los de los ajustes globales.

La casilla Al revertir, ignorar los productos editados después de la aplicación determina el comportamiento de la reversión. Déjala marcada en la gran mayoría de los casos.

Los precios de oferta

Se proponen cuatro modos. Solo se aplican a los productos que realmente tienen un precio de oferta informado.

  • Recalcular manteniendo el mismo porcentaje de descuento: el modo por defecto. Un producto de 100 mostrado a 80 conserva su descuento del 20 % tras la subida. El nuevo precio de oferta también pasa por el redondeo.
  • Aplicar el mismo porcentaje: el precio de oferta recibe exactamente el mismo tratamiento que el precio regular.
  • No tocar: el precio de oferta queda estrictamente igual. El descuento mostrado aumenta por tanto de forma mecánica.
  • Eliminar el precio de oferta: la oferta se retira, junto con sus fechas de inicio y de fin.

En todos los casos, si el nuevo precio de oferta alcanzara o superara el nuevo precio regular, se elimina automáticamente para evitar una incoherencia en la tienda.

Vista previa y aplicación

El botón Previsualizar los nuevos precios lanza tres operaciones sucesivas, con barra de progreso:

  1. Selección de los productos que corresponden al ámbito y registro de la cola.
  2. Cálculo del nuevo precio de cada línea, por lotes.
  3. Visualización de la tabla y de las estadísticas.

La tabla muestra, para cada línea, el producto con un enlace a su ficha, el SKU, el precio actual, el precio nuevo, la variación real en porcentaje, el precio de oferta antes y después, y el estado. Las líneas descartadas llevan el estado skipped y un motivo: producto gratuito, sin precio regular, precio ya en el valor objetivo, o variación superior al límite autorizado.

El botón Cargar 50 líneas más pagina la tabla. Descargar el CSV exporta la campaña completa, incluidas las líneas descartadas, lo que permite una revisión sin conexión o una validación por un tercero.

Mientras no hayas pulsado Aplicar al catálogo, ningún precio se ha modificado. La campaña sigue disponible en el historial con el estado Lista para aplicar y puede aplicarse más tarde.

La aplicación se hace por lotes a través de la API de producto de WooCommerce, lo que garantiza la actualización del precio mostrado, de la tabla de búsqueda interna y de las cachés. Tras cada lote, los productos variables afectados se resincronizan para que los precios mínimo y máximo mostrados en la tienda sigan siendo correctos.

Revertir una campaña

Desde la pantalla Historial, una campaña con estado Aplicada ofrece un botón Revertir. La restauración se hace por lotes y devuelve cada producto a su precio regular y a su precio de oferta originales.

Si la opción de seguridad estaba activa al crear la campaña, cada producto se comprueba antes de restaurar: si su precio actual ya no coincide con el precio aplicado por la campaña, la línea se deja de lado con un mensaje explícito. Así se evita sobrescribir una modificación manual hecha mientras tanto.

Eliminar una campaña borra también sus datos de restauración. Una campaña aplicada y luego eliminada ya no puede revertirse.

Comandos WP-CLI

Cuatro comandos cubren el mismo recorrido sin pasar por el navegador, lo que conviene a catálogos muy grandes y a scripts de despliegue.

wp df-inflation preview --percent=3 --categories=15,22
wp df-inflation apply --campaign=12 --yes
wp df-inflation apply --percent=4.5 --types=simple,variable --sale=ratio --yes
wp df-inflation revert --campaign=12 --yes
wp df-inflation campaigns

Opciones disponibles: --percent, --name, --categories, --types, --sale (keep, percent, ratio o remove), --campaign y --yes. El comando preview construye la campaña y muestra las estadísticas sin escribir nada, y devuelve el identificador que se reutiliza con apply.

Ajustes globales

  • Tramos de precio: la tabla descrita más arriba, con los botones de añadir y quitar y los preajustes.
  • Sentido y Garantizar la subida: valores por defecto propuestos en cada campaña nueva.
  • Redondear sobre: base de cálculo con impuestos o precio almacenado.
  • Tamaño de los lotes: número de productos tratados por petición, de 1 a 200. El valor por defecto de 25 conviene a la mayoría de alojamientos. Baja a 10 si se supera el tiempo de ejecución, sube a 50 o 100 en un servidor dedicado.
  • Desinstalación: si la casilla está marcada, eliminar el plugin borra las dos tablas y las opciones. Sin marcar, los datos de campaña sobreviven a una reinstalación.

Personalización para desarrolladores

Dos filtros permiten intervenir en el comportamiento del motor.

// Ajustar un precio redondeado.
add_filter( 'df_inflation_rounded_price', function ( $result, $raw_price, $tier ) {
    return $result;
}, 10, 3 );

// Modificar la lista de productos seleccionados por una campaña.
add_filter( 'df_inflation_scope_rows', function ( $rows, $filters ) {
    return $rows;
}, 10, 2 );

Todas las acciones de administración exigen la capacidad manage_woocommerce. Las peticiones AJAX están protegidas por un nonce y comprueban esa capacidad en el servidor.

Resolución de problemas

Ningún producto corresponde al ámbito

Comprueba que los tipos de producto marcados corresponden a tu catálogo y que los productos objetivo tienen un precio regular informado. Un producto variable donde solo las variaciones tienen precio exige marcar el tipo variable, no el tipo simple.

La barra de progreso se bloquea

Reduce el tamaño de los lotes en los ajustes y vuelve a lanzar. Un lote de 10 productos basta en los alojamientos más limitados. La consola del navegador muestra el detalle de la petición fallida.

Los nuevos precios no aparecen en la tienda

Vacía la caché de tu plugin de caché y la caché del servidor. El plugin purga los transients de WooCommerce de los productos modificados, pero no controla una caché de página de terceros.

Los precios de los productos variables son incoherentes

Los precios mínimo y máximo mostrados en la ficha padre proceden de una sincronización de WooCommerce. El plugin la lanza tras cada lote. Si persiste una diferencia, la herramienta WooCommerce, Estado, Herramientas, Vaciar los transients de productos fuerza un recálculo completo.

Una variación real muy superior al objetivo

Es el comportamiento esperado en una escala gruesa. Rellena el techo por campaña para descartar esos productos, o añade un tramo más fino en la franja de precios afectada.

Desinstalación

Desactivar el plugin no borra nada: las campañas y los datos de restauración siguen en la base de datos. La eliminación completa desde la lista de plugins lanza la limpieza solo si la opción correspondiente estaba marcada en los ajustes antes de eliminarlo.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte