Multi-channel abandoned cart recovery for WooCommerce — Email, WhatsApp (UltraMsg), Telegram, and SMS (Twilio). Powered by WooCommerce Action Scheduler.
Author: Midas Moradi
| Layer | Description |
|---|---|
| Cart tracking | Monitors active carts and detects abandonment |
| Scheduling | Recovery messages via WooCommerce Action Scheduler |
| Multi-channel | Email, WhatsApp, Telegram, SMS with optional fallback chain (Pro) |
| Guest recovery | Secure ?omnirecover_recover= cart restore links |
| Admin UI | React dashboard (prebuilt build/, @wordpress/scripts) |
| REST API | Settings and analytics endpoints |
| HPOS | Compatible with WooCommerce custom order tables |
| Privacy | GDPR export/erase hooks |
| Freemium-ready | Freemius integration hook for Pro gating |
flowchart TB
subgraph WooCommerce
CART[Cart / Checkout]
AS[Action Scheduler]
end
subgraph OmniRecover
WATCH[CartWatcher]
SCHED[SchedulerService]
DISP[RecoveryDispatcher]
FACT[MessengerFactory]
REPO[RecoveryRepository]
ADMIN[React Admin UI]
API[REST API]
end
subgraph Channels
EMAIL[Email]
WA[WhatsApp UltraMsg]
TG[Telegram]
SMS[Twilio SMS]
end
CART --> WATCH
WATCH --> SCHED
SCHED --> AS
AS --> DISP
DISP --> REPO
DISP --> FACT
FACT --> EMAIL
FACT --> WA
FACT --> TG
FACT --> SMS
ADMIN --> API
src/
├── Plugin.php # Bootstrap
├── Controllers/ # Admin, redirects, order actions
├── Services/ # Cart watcher, scheduler, dispatcher, coupons
├── Messengers/ # Channel adapters + factory + chain
├── Models/RecoveryRepository.php
├── Rest/Api.php
└── Install/ # Activation / deactivation
build/ # Compiled admin assets (committed)
includes/ # Production autoloader + Freemius init
- WordPress 6.0+
- WooCommerce 8.0+
- PHP 7.4+
- Download omnirecover-for-woocommerce-0.1.0.zip from Releases (not “Source code”).
- Upload via Plugins → Add New → Upload.
- Activate after WooCommerce is active.
- Configure at WooCommerce → OmniRecover.
git clone https://github.com/midasmoradi/omnirecover-for-woocommerce.git
cd omnirecover-for-woocommerce
composer install
npm install --registry https://registry.npmjs.org
npm run buildPHP loads via Composer autoload in development, or includes/class-autoloader.php in the release zip (no vendor/ on production servers).
powershell -ExecutionPolicy Bypass -File .\scripts\build-release.ps1Output: releases/omnirecover-for-woocommerce-0.1.0.zip
API credentials are only used after you save settings in the admin:
| Channel | Provider |
|---|---|
| SMS | Twilio |
| UltraMsg | |
| Telegram | Bot API |
| AI copy (Pro) | OpenAI |
composer phpcs
composer phpcbf| Repo | Focus |
|---|---|
| wp-restaurant-booking | Reservation system |
| wp-performance-toolkit | Performance optimization |
| headless-wp-bridge | Go data bridge |
GPL-2.0-or-later — see LICENSE.