| 1 |
# CartFlows Wiki |
| 2 |
|
| 3 |
Welcome to the CartFlows developer documentation. CartFlows (v2.2.1) is a WordPress plugin that creates beautiful checkout pages and sales funnels for WooCommerce. |
| 4 |
|
| 5 |
**Author:** Brainstorm Force |
| 6 |
**Plugin URI:** https://cartflows.com/ |
| 7 |
**Requires:** WordPress 5.0+, WooCommerce 3.0+, PHP 7.2+ |
| 8 |
|
| 9 |
--- |
| 10 |
|
| 11 |
## Quick Navigation |
| 12 |
|
| 13 |
### Getting Started |
| 14 |
- [](Getting-StartedGetting-Started](Getting-Started](Getting-Started) — Install, activate, and create your first funnel |
| 15 |
- [](Environment-ConfigurationEnvironment-Configuration](Environment-Configuration](Environment-Configuration) — Local dev with wp-env/Docker |
| 16 |
- [](Architecture-OverviewArchitecture-Overview](Architecture-Overview](Architecture-Overview) — How the plugin is structured |
| 17 |
|
| 18 |
### Backend Development |
| 19 |
- [](WordPress-Plugin-StructureWordPress-Plugin-Structure](WordPress-Plugin-Structure](WordPress-Plugin-Structure) — File naming, hooks, capabilities |
| 20 |
- [](Feature-ModulesFeature-Modules](Feature-Modules](Feature-Modules) — All 11 feature modules explained |
| 21 |
- [](WooCommerce-IntegrationWooCommerce-Integration](WooCommerce-Integration](WooCommerce-Integration) — Cart, checkout, and order hooks |
| 22 |
- [](Database-SchemaDatabase-Schema](Database-Schema](Database-Schema) — Post types, taxonomies, meta, options |
| 23 |
|
| 24 |
### API Reference |
| 25 |
- [](REST-API-ReferenceREST-API-Reference](REST-API-Reference](REST-API-Reference) — All `cartflows/v1` endpoints |
| 26 |
- [](AJAX-API-ReferenceAJAX-API-Reference](AJAX-API-Reference](AJAX-API-Reference) — All `wp_ajax_cartflows_*` handlers |
| 27 |
- [](WordPress-Hooks-ReferenceWordPress-Hooks-Reference](WordPress-Hooks-Reference](WordPress-Hooks-Reference) — All actions and filters |
| 28 |
|
| 29 |
### Frontend Development |
| 30 |
- [](Frontend-ArchitectureFrontend-Architecture](Frontend-Architecture](Frontend-Architecture) — React 18, Redux, React Router overview |
| 31 |
- [](Editor-AppEditor-App](Editor-App](Editor-App) — Flow/step editor canvas and components |
| 32 |
- [](Settings-AppSettings-App](Settings-App](Settings-App) — Dashboard, analytics, and settings UI |
| 33 |
- [](State-ManagementState-Management](State-Management](State-Management) — Redux store and SettingsProvider |
| 34 |
- [](Build-SystemBuild-System](Build-System](Build-System) — webpack, npm scripts, asset pipeline |
| 35 |
|
| 36 |
### Integrations |
| 37 |
- [](Page-Builder-IntegrationsPage-Builder-Integrations](Page-Builder-Integrations](Page-Builder-Integrations) — Elementor, Gutenberg, Beaver Builder, Bricks, Divi |
| 38 |
|
| 39 |
### Standards & Process |
| 40 |
- [](WordPress-Coding-StandardsWordPress-Coding-Standards](WordPress-Coding-Standards](WordPress-Coding-Standards) — PHPCS, PHPStan, ESLint, Prettier |
| 41 |
- [](Testing-GuideTesting-Guide](Testing-Guide](Testing-Guide) — PHPUnit, Playwright E2E, wp-env |
| 42 |
- [](Contributing-GuideContributing-Guide](Contributing-Guide](Contributing-Guide) — Branches, commits, PR process |
| 43 |
- [](Deployment-GuideDeployment-Guide](Deployment-Guide](Deployment-Guide) — Build checklist, release procedure |
| 44 |
|
| 45 |
### Reference |
| 46 |
- [](Troubleshooting-FAQTroubleshooting-FAQ](Troubleshooting-FAQ](Troubleshooting-FAQ) — Common issues and solutions |
| 47 |
- [](ChangelogChangelog](Changelog](Changelog) — Recent release notes |
| 48 |
|
| 49 |
--- |
| 50 |
|
| 51 |
## Tech Stack at a Glance |
| 52 |
|
| 53 |
| Layer | Technology | |
| 54 |
|-------|-----------| |
| 55 |
| Backend | PHP (WordPress plugin, PSR-4 namespaces) | |
| 56 |
| Frontend | React 18 + Redux + React Router | |
| 57 |
| Styling | Tailwind CSS + PostCSS | |
| 58 |
| Build | Webpack via `@wordpress/scripts` | |
| 59 |
| Code Quality | PHPCS (WordPress + VIP-Go) + PHPStan level 9 | |
| 60 |
| E2E Testing | Playwright + wp-env | |
| 61 |
| Unit Testing | PHPUnit 8 | |
| 62 |
| Package Manager | npm + Composer | |
| 63 |
|
| 64 |
--- |
| 65 |
|
| 66 |
## Key Directories |
| 67 |
|
| 68 |
``` |
| 69 |
cartflows/ |
| 70 |
├── cartflows.php # Plugin entry point |
| 71 |
├── classes/ # Core PHP classes (singleton loader, helpers) |
| 72 |
├── admin-core/ |
| 73 |
│ ├── ajax/ # AJAX handlers (AjaxBase subclasses) |
| 74 |
│ ├── api/ # REST endpoints (ApiBase subclasses) |
| 75 |
│ ├── inc/ # Admin menus, global settings, WP-CLI |
| 76 |
│ └── assets/src/ # React source for editor-app + settings-app |
| 77 |
├── modules/ # Feature modules |
| 78 |
├── compatibilities/ # Third-party compatibility patches |
| 79 |
├── woocommerce/ # WooCommerce template overrides |
| 80 |
├── wizard/ # Setup wizard |
| 81 |
├── tests/ |
| 82 |
│ ├── php/ # PHPUnit tests |
| 83 |
│ └── e2e/ # Playwright E2E tests |
| 84 |
└── docs/wiki/ # This documentation |
| 85 |
``` |
| 86 |
|
| 87 |
--- |
| 88 |
|
| 89 |
## Common Commands |
| 90 |
|
| 91 |
```bash |
| 92 |
# PHP |
| 93 |
composer lint # PHPCS check |
| 94 |
composer phpstan # Static analysis |
| 95 |
composer test # PHPUnit |
| 96 |
|
| 97 |
# JavaScript |
| 98 |
npm run build # Production build |
| 99 |
npm run start # Dev watch mode |
| 100 |
npm run lint-js # ESLint |
| 101 |
|
| 102 |
# Local environment |
| 103 |
npm run env:start # Start wp-env Docker |
| 104 |
npm run env:stop # Stop wp-env Docker |
| 105 |
npm run test:e2e # Run E2E tests |
| 106 |
``` |
| 107 |
|
| 108 |
--- |
| 109 |
|
| 110 |
## REST API Quick Reference |
| 111 |
|
| 112 |
| Method | Endpoint | Description | |
| 113 |
|--------|----------|-------------| |
| 114 |
| POST | `/wp-json/cartflows/v1/admin/flows/` | List flows | |
| 115 |
| GET | `/wp-json/cartflows/v1/admin/flow-data/{id}` | Get flow | |
| 116 |
| GET | `/wp-json/cartflows/v1/admin/step-data/{id}` | Get step | |
| 117 |
| GET | `/wp-json/cartflows/v1/admin/commonsettings/` | Get settings | |
| 118 |
| GET | `/wp-json/cartflows/v1/admin/homepage/` | Get dashboard data | |
| 119 |
|
| 120 |
See [](REST-API-ReferenceREST-API-Reference](REST-API-Reference](REST-API-Reference) for full details. |
| 121 |
|