Caso de estudio · Plugin WooCommerce

WPilot Commerce, siete módulos para WooCommerce

Un plugin que añade a WooCommerce lo que una tienda de reservas, alquileres o servicios suele resolver con varios plugins de pago: reservas, depósitos, campos del checkout, emails, diseño del carrito, Mi cuenta y partners. Lo diseño, lo programo y lo mantengo.

Ilustración de los siete módulos de WPilot Commerce para WooCommerce

Mi papel

Diseño, desarrollo y mantenimiento

Estado

Versión 2.1.1 · 31 versiones publicadas

Tipo

Plugin modular para WooCommerce 8.7 o superior

Stack

PHP 8 · WooCommerce · PHPStan · Rector · phpcs · JavaScript

01 · Contexto

El problema

Las tiendas WooCommerce de hoteles, alquileres, restaurantes o citas acaban sumando plugins de pago de autores distintos: uno para reservas, otro para los campos del checkout, otro para los depósitos y otro para los emails. Cada uno tiene su estilo, su ciclo de actualizaciones y sus conflictos con los demás.

Commerce reúne esas funciones en un solo plugin, con una arquitectura común y módulos que se activan por separado.

02 · Lo que hice

Los siete módulos

Cada módulo funciona solo y también con los demás: el depósito se calcula sobre el total de la reserva y los emails muestran los campos añadidos al checkout.

Reservas

Motor propio con reglas de precio, simulador, extras, ubicaciones y API REST.

Checkout Customize

Editor de campos del checkout. Lee los datos de «Checkout Field Editor», así que se cambia de plugin sin migrar nada.

Checkout Deposits

Cobra online solo un porcentaje y deja el resto pendiente. Si el total no cuadra con el carrito, no cobra nada.

Email Customizer

Diseño para los emails de WooCommerce con vista previa en vivo. Conserva los hooks para que otros plugins sigan funcionando.

Payment Design

Carrito, checkout y página de gracias con un diseño que toma la fuente y los colores del tema.

Customize Profile

Menú y diseño de Mi cuenta: ordenar pestañas, renombrarlas u ocultarlas por rol.

Partners

Programa de partners con enlace y QR propios, comisiones que se aprueban al pagarse el pedido, liquidación mensual y exportación CSV.

03 · Decisiones

Arquitectura

  • Servicios con inyección por constructor: cada pieza registra sus hooks desde una interfaz común, en lugar de colgar funciones sueltas de WordPress.
  • Archivos cortos: unas 400–500 líneas como máximo, para que cada clase haga una sola cosa.
  • Análisis estático: PHPStan nivel 5, Rector y phpcs en cada cambio.
  • Refactor sin romper nada: la versión 2.0.0 reescribió el interior del plugin sin cambiar su comportamiento para las tiendas que ya lo usaban.
  • Desinstalación limpia: al borrarlo se eliminan los datos de cada módulo, pero se conservan los productos, los pedidos y lo guardado en ellos.

04 · En cifras

En cifras

861

commits

31

versiones publicadas

210

archivos de test

7

módulos independientes

Siguiente caso

WPilot Web Kit →

Cinco módulos de WordPress en un plugin que solo carga lo que se activa.