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.
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
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.
- 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.