PW – Ofertas Avanzadas Lite

Descripción

PW – Ofertas Avanzadas Lite te permite diseñar, lanzar y gestionar campañas de descuento en WooCommerce basadas en estrategias de marketing reales. Un asistente guiado te acompaña en cada ajuste, los contadores de coincidencias automáticos te indican cuántos productos cumplen los requisitos antes de publicar, y las insignias opcionales avisan a los compradores de que hay una oferta activa.

Tanto si estás liquidando stock de poca rotación, recompensando compras al por mayor o aplicando descuentos a productos próximos a su fecha de vencimiento, dispones de estrategias diseñadas para cada caso en lugar de soluciones genéricas con cupones.

Asistente de campaña guiado

Cada campaña comienza con el mismo asistente sencillo:

  • Elige una estrategia y dale un nombre a la campaña.
  • Selecciona los productos o categorías de destino: el asistente excluye los elementos ya seleccionados y muestra un contador de coincidencias en tiempo real según ajustas la audiencia.
  • Configura el tramo de descuento para esa estrategia (porcentaje o monto fijo, validado en tiempo real).
  • Establece una fecha de inicio/fin si es necesario.
  • Publica: el descuento se aplica automáticamente en el proceso de pago y en las páginas de producto.

Tres estrategias de marketing predefinidas

Descuento básico en producto
Una reducción directa en porcentaje o monto fijo sobre uno o más productos. Úsalo para promociones de temporada, ofertas de bienvenida o liquidaciones en las que quieras un descuento sencillo y claramente etiquetado.

Compra X, paga Y
Se aplica automáticamente cuando el cliente agrega la cantidad requerida al carrito, sin necesidad de código de cupón. Configura ofertas 2×1, 3×2, 5×4 o cualquier combinación. Ideal para productos de gran consumo, packs e inventario que quieres mover rápido. Puedes limitar cuántas veces se aplica la oferta por pedido.

Descuento por tramos de caducidad
Diseñado para artículos perecederos y de vida útil limitada: alimentación, bebidas, cosmética, farmacia. Define tramos de descuento según los días hasta la caducidad; por ejemplo, 30 días restantes = 10 % DTO; 15 días = 20 % DTO; 7 días = 35 % DTO. WooCommerce calcula el tramo correcto automáticamente, reduciendo el desperdicio sin necesidad de reajustar los precios manualmente cada semana.

Insignias de producto

Activa las insignias opcionales en las imágenes de tus productos WooCommerce. Cuando una campaña está activa, aparece una insignia «En oferta» o con etiqueta personalizada en la tarjeta y en la ficha de producto, dando a los clientes una señal visual sin necesidad de editar el tema ni usar shortcodes.

Gestión de campañas

Todas las campañas activas y programadas se gestionan desde un único panel. Activa, pausa o elimina una campaña con un solo clic. Modifica los ajustes de la estrategia en cualquier momento y los cambios surtirán efecto en la siguiente carga de página. Las campañas se almacenan en tablas de base de datos dedicadas (creadas automáticamente al activar el plugin) y no interfieren nunca con el sistema de cupones nativo de WooCommerce.

Idiomas

El plugin está escrito en inglés. Se incluye una traducción completa al español (es_ES) que se carga automáticamente cuando el idioma del sitio está configurado con cualquier variante es_*.

Edición Pro

Una edición Pro independiente agrega estrategias avanzadas (descuentos por volumen, tramos por cantidad y atributo), analíticas integradas y filtros de audiencia adicionales. Se vende directamente por el autor y no se distribuye a través de este listado de WordPress.org.

Servicios externos

Este plugin no llama a APIs remotas ni envía datos de la tienda a servidores de terceros en segundo plano. El asistente y el panel de administración usan CSS de utilidades incluido en el plugin (assets/css/pwoa-tailwind-admin.css). La biblioteca de diseño incluida (pw/backend-ui) carga su propio JavaScript y CSS únicamente desde el paquete del plugin; no carga la CDN de Tailwind Play.

Capturas de pantalla

Instalación

  1. Sube la carpeta del plugin a /wp-content/plugins/ o instálalo desde Plugins Agregar nuevo.
  2. Activa el plugin.
  3. Asegúrate de que WooCommerce esté instalado y activo; el plugin mostrará un aviso de administración si no es así.
  4. Abre el menú Ofertas en la barra lateral del administrador de WordPress para crear tu primera campaña.

FAQ

¿Funciona sin WooCommerce?

No. WooCommerce debe estar instalado y activo. El plugin verifica esto en cada carga del panel de administración y muestra un aviso claro si falta la dependencia.

¿Dónde se guardan los datos y ajustes de las campañas?

En tablas de base de datos personalizadas que se crean al activar el plugin. No se almacena ningún dato en wp_options ni en wp_postmeta, y al desinstalar el plugin esas tablas se eliminan correctamente.

¿Puedo tener más de una campaña activa al mismo tiempo?

Sí. Varias campañas pueden estar activas al mismo tiempo. Si un producto está incluido en más de una campaña, el comportamiento de apilado sigue el orden de prioridad que configures; por defecto se aplica la campaña de mayor prioridad.

¿Afectan las campañas a los cupones de WooCommerce?

Las campañas son independientes del sistema de cupones de WooCommerce. Un cliente puede usar un código de cupón nativo y seguir beneficiándose de una campaña activa en el mismo pedido.

¿Cómo se muestran las insignias en la tienda?

Las insignias se renderizan en los hooks de imagen de producto estándar de WooCommerce, por lo que funcionan con la mayoría de temas sin configuración adicional. Los productos sin imagen destacada no reciben el contenedor de insignia, evitando problemas de maquetación. Si tu tema tiene un loop de producto muy personalizado puede que necesites revisar el resultado, aunque no es necesario editar ningún archivo del tema.

¿Funcionará con mi maquetador de páginas?

Las campañas actúan a nivel del carrito y del precio en WooCommerce, por lo que funcionan independientemente de cómo estén construidas las páginas de producto. Las insignias se basan en los hooks estándar de WooCommerce; si tu maquetador de páginas reemplaza esos hooks completamente (algunos lo hacen), es posible que las insignias no aparezcan en el front-end, aunque el descuento sigue aplicándose sin problemas.

¿Cuál es la diferencia entre Lite y Pro?

La edición Lite incluye tres estrategias: descuento básico, compra X paga Y y descuento por tramos de caducidad. La edición Pro agrega descuentos por volumen, tramos por cantidad y atributo, analíticas de campaña y filtros de audiencia adicionales. La versión Pro se vende por separado por el autor y no está disponible en WordPress.org.

Reseñas

No hay reseñas para este plugin.

Colaboradores & Desarrolladores

“PW – Ofertas Avanzadas Lite” es software de código abierto. Las siguientes personas han contribuido a este plugin.

Colaboradores

“PW – Ofertas Avanzadas Lite” ha sido traducido en 2 idiomas. Gracias a los traductores por sus contribuciones.

Traduce “PW – Ofertas Avanzadas Lite” 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 .

Historial de cambios

2.26.13

  • New: the single-product badge now recalculates when the selected variation changes, so each variation shows its own winning offer (e.g. basic discount vs expiry-based).

2.26.12

  • Fix: expiry-based discount now displays correctly on the price detail of variations, falling back to the parent product’s expiry date.

2.26.11

  • Fix: avoids fatal error in catalog badge resolution by passing the campaign object through badge-only strategy wrappers.

2.26.10

  • Badges: catalog badges and sale prices now follow the same stacking behaviour as the cart (StackingResolver).
  • Badges: independent checkout placement option; uniform badge font sizes across placements.
  • Pricing: fixed struck-through regular price on variable variations; unified sale-price HTML markup.

2.26.9

  • Cart: expiry-based discounts now fall back to the variable parent’s _expiry_date when the variation has no date set (common setup for perishable variable products).

2.26.8

  • Cart: Buy X pay Y pools quantity across eligible cart lines (fixes missing discount when qty is split across variations).
  • Cart: bulk discounts match variation IDs and apply across multiple cart lines; order units-sold counter uses the same matching rules.
  • Cart: low-stock and expiry-based strategies read variation stock and _expiry_date meta correctly.
  • Catalog: variable products show the lowest campaign sale price among qualifying variations.
  • Attributes: attribute-based cart filtering loads variation attributes correctly.

2.26.6

  • Badges: expiry-based campaigns now show the correct % or fixed-amount label in admin and on the storefront.
  • Badges: discount and custom badges stack vertically on the product image instead of overlapping.
  • Badges: lower z-index on badge overlays to avoid conflicts with theme layers.
  • Lite: custom campaign badge text is a Pro-only feature; Lite shows discount badges only.

2.26.5

  • Admin: new Badge settings page to customize the on-sale badge — label text, colors, and placement over the product image.
  • Storefront: campaign discounts now render as native WooCommerce sale prices (original price struck through next to the discounted price) on catalog and product pages.
  • Cart: restored the per-campaign discount breakdown in the cart and checkout totals, computed from base prices before the discount is applied.

2.26.1

  • Corrección: el paquete Lite incluye ahora ProductPriceHandler.php y CampaignPricingService.php (corrige el error fatal al cargar el plugin tras actualizar desde WordPress.org).

2.26.0

  • Alcance Lite: el asistente y la tienda ofrecen tres estrategias de campaña: descuento básico, compra X paga Y y por caducidad (las estrategias de volumen y por cantidad y atributo no están disponibles en Lite; las filas antiguas de estrategias eliminadas se ignoran en tiempo de ejecución).
  • Asistente / admin: búsqueda AJAX de categorías más robusta (jerarquía, coincidencias más estrictas, deduplicación), mejoras en la búsqueda de productos (variaciones, manejo del producto padre legacy, ocultar ya seleccionados), actualización del contador de coincidencias al cambiar filtros de audiencia, y campos de tramo coherentes (% frente a monto fijo) con valores de porcentaje 0–100 validados (se admite coma decimal).
  • Estabilidad: los valores vacíos de stacking_mode usan priority por defecto al guardar campañas.
  • Corrección: el admin ya no genera un error fatal cuando una versión anterior del paquete pw/backend-ui incluido no tiene CORE_STYLE_HANDLE (dependencia de hoja de estilos compatible con versiones anteriores).
  • Corrección: el paquete Lite ahora incluye ProductPriceHandler y CampaignPricingService (requeridos por el carrito y el precio del catálogo desde versiones recientes).
  • Calidad de código: flujos de verificación de nonce revisados (eliminados supresores PHPCS genéricos de NonceVerification en favor de verificaciones explícitas).
  • Dependencias: pw/backend-ui fijado a 1.4.7 en el paquete distribuido.

2.2.5

  • Tienda: los productos sin imagen destacada ya no reciben el contenedor de insignia de oferta alrededor de la imagen principal; se reducen las maquetaciones extrañas en la ficha de producto, incluyendo con el HTML propio de WooCommerce y el widget «Imagen del producto» de Elementor.
  • Admin: la hoja de estilos Tailwind compilada ahora se carga justo después del CSS base de BackendUI (AssetsManager::CORE_STYLE_HANDLE), de modo que las clases de utilidad se aplican correctamente con el pw/backend-ui del paquete.
  • i18n: más cadenas en español (es_ES) cubiertas en los archivos de traducción del paquete (.po / .mo).

2.2.4

  • Build: el paquete Lite incluye ahora CampaignPostSanitizer.php (corrige el guardado de campaña y la validación condicional en el asistente).

2.2.2

  • i18n: compatibilidad con WordPress 6.7+ — el arranque del admin (BackendUI, menús) se difiere al hook init para que el dominio de texto pezweb-ofertas-avanzadas se cargue antes de que se ejecuten cadenas traducidas (corrige el aviso _load_textdomain_just_in_time por carga demasiado temprana).

2.2.1

  • Cumplimiento de Plugin Check: resueltas todas las advertencias de NonceVerification, EscapeOutput, PrefixAllGlobals y sentencias SQL preparadas.
  • i18n: todos los msgids de gettext ahora usan inglés; dominio de texto alineado con el slug (pezweb-ofertas-avanzadas).
  • Build: composer.json incluido con vendor/; archivos ocultos y metadatos de desarrollo excluidos del ZIP.

2.1.5

  • Se eliminan todos los límites artificiales de funcionalidades y estrategias bloqueadas para cumplir con las directrices del Directorio de Plugins de WordPress.org.
  • El build de Lite ya no incluye referencias a estrategias exclusivas de Pro, URLs de actualización ni restricciones de número de campañas.

2.1.4

  • Resueltas todas las advertencias de Plugin Check: wp_unslash en todas las lecturas POST, absint para IDs, object cache en queries directas a la base de datos, eliminado load_plugin_textdomain deprecado.
  • Build: el nombre del ZIP de Lite ya no incluye el sufijo -lite (coincide con el slug de wp.org).

2.1.3

  • La URI del plugin ahora difiere de la URI del autor (requisito de WordPress.org).
  • Lite ya no llama a deactivate_plugins(); omite su inicialización cuando Pro está activo y muestra un aviso de administración en su lugar.

2.1.2

  • WordPress.org: manejador de desinstalación, verificación del ZIP en el build, servicios externos en el readme; opción de deploy sin cambiar versión; limpieza de assets de admin y shortcodes.

2.1.1

  • Preparación para WordPress.org: stable tag del readme, declaración de servicios externos, descripción del plugin en inglés en la cabecera.
  • Conflicto Pro/Lite: Pro desactiva correctamente el paquete Lite cuando ambos están instalados.
  • i18n: las etiquetas de estrategias Pro usan cadenas traducibles literales; el campo de caducidad de producto y el aviso en tienda son traducibles.
  • Estilos: la caducidad de producto en admin/tienda usa CSS encolado (sin estilos inline); las utilidades Tailwind de admin se compilan en local (sin cdn.tailwindcss.com).

2.0.18

  • Readme y marca alineados con PW – Ofertas Avanzadas; traducción al español (es_ES); URL de actualización Pro filtrable.