| 1 |
# Feature Modules |
| 2 |
|
| 3 |
CartFlows organises its functionality into self-contained modules under the `modules/` directory. Each module registers its own WordPress hooks, post meta boxes, templates, and assets. |
| 4 |
|
| 5 |
## Module List |
| 6 |
|
| 7 |
| Module | Directory | Purpose | |
| 8 |
|--------|-----------|---------| |
| 9 |
| Flow | `modules/flow/` | Core funnel and step CPT registration | |
| 10 |
| Checkout | `modules/checkout/` | WooCommerce checkout page functionality | |
| 11 |
| Thank You | `modules/thankyou/` | Post-purchase thank you pages | |
| 12 |
| Optin | `modules/optin/` | Lead capture / opt-in forms | |
| 13 |
| Landing | `modules/landing/` | Landing / sales pages | |
| 14 |
| Gutenberg | `modules/gutenberg/` | WordPress block editor integration | |
| 15 |
| Elementor | `modules/elementor/` | Elementor widget integration | |
| 16 |
| Beaver Builder | `modules/beaver-builder/` | Beaver Builder module integration | |
| 17 |
| Bricks | `modules/bricks/` | Bricks page builder integration | |
| 18 |
| Email Report | `modules/email-report/` | Scheduled funnel performance emails | |
| 19 |
| WooCommerce Dynamic Flow | `modules/woo-dynamic-flow/` | Dynamic product-based flows | |
| 20 |
|
| 21 |
--- |
| 22 |
|
| 23 |
## Flow Module |
| 24 |
|
| 25 |
**Directory:** `modules/flow/` |
| 26 |
|
| 27 |
The foundation module — registers the two custom post types that all other modules build on. |
| 28 |
|
| 29 |
### Custom Post Types |
| 30 |
|
| 31 |
| CPT | Slug | Description | |
| 32 |
|-----|------|-------------| |
| 33 |
| Flow (Funnel) | `wcf-flow` | Container for a complete sales funnel | |
| 34 |
| Step | `wcf-step` | An individual page within a funnel | |
| 35 |
|
| 36 |
### Classes |
| 37 |
|
| 38 |
- `class-cartflows-flow.php` — Flow CPT registration and meta |
| 39 |
- `class-cartflows-step.php` — Step CPT registration and meta |
| 40 |
- `class-cartflows-loader.php` — Module loader |
| 41 |
- `class-cartflows-permalink.php` — Custom permalink structure for steps |
| 42 |
|
| 43 |
### Templates |
| 44 |
|
| 45 |
- `default.php` — Default flow page template |
| 46 |
- Canvas template — Full-width template for step pages |
| 47 |
|
| 48 |
--- |
| 49 |
|
| 50 |
## Checkout Module |
| 51 |
|
| 52 |
**Directory:** `modules/checkout/` |
| 53 |
|
| 54 |
The most feature-rich module. Handles WooCommerce checkout customisation, field management, and dynamic CSS. |
| 55 |
|
| 56 |
### Features |
| 57 |
|
| 58 |
- Custom checkout form layouts (Modern Checkout, Instant Checkout) |
| 59 |
- Field manager — add, remove, and reorder checkout fields |
| 60 |
- Global checkout functionality |
| 61 |
- Order bump (pre-checkout offers) |
| 62 |
- Dynamic CSS generation based on settings |
| 63 |
|
| 64 |
### Classes |
| 65 |
|
| 66 |
| Class | Purpose | |
| 67 |
|-------|---------| |
| 68 |
| `class-cartflows-checkout-meta.php` | Meta boxes and settings fields | |
| 69 |
| `class-cartflows-checkout-ajax.php` | Checkout AJAX handlers | |
| 70 |
| `class-cartflows-checkout-fields.php` | Checkout field management | |
| 71 |
| `class-cartflows-checkout-markup.php` | Checkout HTML rendering | |
| 72 |
| `class-cartflows-global-checkout.php` | Global checkout functionality | |
| 73 |
|
| 74 |
### Templates |
| 75 |
|
| 76 |
- `checkout-form.php` — Main checkout form template |
| 77 |
- Embed checkout templates |
| 78 |
- Review order table templates |
| 79 |
- Modern Checkout and Instant Checkout layouts |
| 80 |
|
| 81 |
### Dynamic CSS |
| 82 |
|
| 83 |
CSS is generated server-side based on admin settings and output inline on the frontend, allowing per-step styling without uploading static CSS files. |
| 84 |
|
| 85 |
--- |
| 86 |
|
| 87 |
## Thank You Module |
| 88 |
|
| 89 |
**Directory:** `modules/thankyou/` |
| 90 |
|
| 91 |
Customises the post-purchase thank you page displayed after a successful order. |
| 92 |
|
| 93 |
### Features |
| 94 |
|
| 95 |
- Custom thank you page layouts |
| 96 |
- Instant thank you page (shows order immediately) |
| 97 |
- Order details display |
| 98 |
- Product summary |
| 99 |
|
| 100 |
### Classes |
| 101 |
|
| 102 |
| Class | Purpose | |
| 103 |
|-------|---------| |
| 104 |
| `class-cartflows-thankyou-meta-data.php` | Settings and meta | |
| 105 |
| `class-cartflows-thankyou-markup.php` | HTML rendering | |
| 106 |
|
| 107 |
### Templates |
| 108 |
|
| 109 |
- `instant-thankyou-order-details.php` — Instant thank you details |
| 110 |
- Order summary, product summary templates |
| 111 |
|
| 112 |
--- |
| 113 |
|
| 114 |
## Optin Module |
| 115 |
|
| 116 |
**Directory:** `modules/optin/` |
| 117 |
|
| 118 |
Provides lead capture forms (email opt-in) as funnel steps, integrated with WooCommerce and popular email marketing tools. |
| 119 |
|
| 120 |
### Features |
| 121 |
|
| 122 |
- Custom opt-in form with configurable fields |
| 123 |
- Form submission handling |
| 124 |
- Integration hooks for email marketing platforms |
| 125 |
- Dynamic CSS styling |
| 126 |
|
| 127 |
### Classes |
| 128 |
|
| 129 |
| Class | Purpose | |
| 130 |
|-------|---------| |
| 131 |
| `class-cartflows-optin-meta.php` | Settings meta boxes | |
| 132 |
| `class-cartflows-optin-fields.php` | Form field management | |
| 133 |
| `class-cartflows-optin-markup.php` | Form HTML rendering | |
| 134 |
|
| 135 |
### Templates |
| 136 |
|
| 137 |
- `simple.php` — Standard opt-in form template |
| 138 |
|
| 139 |
--- |
| 140 |
|
| 141 |
## Landing Module |
| 142 |
|
| 143 |
**Directory:** `modules/landing/` |
| 144 |
|
| 145 |
Simple landing/sales page step type. Provides a full-width, distraction-free page layout with no default WooCommerce functionality. |
| 146 |
|
| 147 |
### Classes |
| 148 |
|
| 149 |
| Class | Purpose | |
| 150 |
|-------|---------| |
| 151 |
| `class-cartflows-landing.php` | Main landing page class | |
| 152 |
| `class-cartflows-landing-meta.php` | Settings meta boxes | |
| 153 |
| `class-cartflows-landing-markup.php` | Page HTML rendering | |
| 154 |
|
| 155 |
--- |
| 156 |
|
| 157 |
## Gutenberg Module |
| 158 |
|
| 159 |
**Directory:** `modules/gutenberg/` |
| 160 |
|
| 161 |
Registers Gutenberg (WordPress block editor) blocks for embedding CartFlows forms in standard WordPress content. |
| 162 |
|
| 163 |
### Blocks |
| 164 |
|
| 165 |
| Block | Purpose | |
| 166 |
|-------|---------| |
| 167 |
| Checkout Form | Embed checkout form in any page | |
| 168 |
| Optin Form | Embed opt-in form in any page | |
| 169 |
| Order Detail Form | Show order details | |
| 170 |
| Next Step Button | Link to next funnel step | |
| 171 |
|
| 172 |
### Classes |
| 173 |
|
| 174 |
| Class | Purpose | |
| 175 |
|-------|---------| |
| 176 |
| `class-cartflows-block-loader.php` | Block registration | |
| 177 |
| `class-cartflows-block-config.php` | Block configuration | |
| 178 |
| `class-cartflows-block-js.php` | Block JS assets | |
| 179 |
| `class-cartflows-gutenberg-editor.php` | Editor integration | |
| 180 |
| `class-cartflows-spectra-compatibility.php` | Spectra (Ultimate Addons for Gutenberg) compatibility | |
| 181 |
| `class-cartflows-block-helper.php` | Shared block utilities | |
| 182 |
|
| 183 |
--- |
| 184 |
|
| 185 |
## Elementor Module |
| 186 |
|
| 187 |
**Directory:** `modules/elementor/` |
| 188 |
|
| 189 |
Registers Elementor widgets for CartFlows form elements. |
| 190 |
|
| 191 |
### Widgets |
| 192 |
|
| 193 |
| Widget | Purpose | |
| 194 |
|--------|---------| |
| 195 |
| Checkout Form | Elementor checkout form widget | |
| 196 |
| Optin Form | Elementor opt-in widget | |
| 197 |
| Order Details Form | Order details widget | |
| 198 |
| Next Step Button | Button linking to next step | |
| 199 |
|
| 200 |
Widget CSS is compiled and enqueued when Elementor is active. |
| 201 |
|
| 202 |
--- |
| 203 |
|
| 204 |
## Beaver Builder Module |
| 205 |
|
| 206 |
**Directory:** `modules/beaver-builder/` |
| 207 |
|
| 208 |
Registers Beaver Builder modules for CartFlows elements. |
| 209 |
|
| 210 |
### Modules |
| 211 |
|
| 212 |
| Module | Purpose | |
| 213 |
|--------|---------| |
| 214 |
| Checkout Form | BB checkout form module | |
| 215 |
| Order Details Form | BB order details module | |
| 216 |
|
| 217 |
--- |
| 218 |
|
| 219 |
## Bricks Module |
| 220 |
|
| 221 |
**Directory:** `modules/bricks/` |
| 222 |
|
| 223 |
Registers Bricks Builder elements for CartFlows. |
| 224 |
|
| 225 |
### Elements |
| 226 |
|
| 227 |
| Element | Purpose | |
| 228 |
|---------|---------| |
| 229 |
| Optin Form | Bricks optin form element | |
| 230 |
| Order Details Form | Bricks order details element | |
| 231 |
|
| 232 |
Widget CSS is compiled and enqueued when Bricks is active. |
| 233 |
|
| 234 |
--- |
| 235 |
|
| 236 |
## Email Report Module |
| 237 |
|
| 238 |
**Directory:** `modules/email-report/` |
| 239 |
|
| 240 |
Sends scheduled email reports with funnel performance statistics to site administrators. |
| 241 |
|
| 242 |
### Features |
| 243 |
|
| 244 |
- Configurable email schedule |
| 245 |
- Per-funnel statistics in email body |
| 246 |
- HTML email template with branding |
| 247 |
|
| 248 |
### Classes |
| 249 |
|
| 250 |
| Class | Purpose | |
| 251 |
|-------|---------| |
| 252 |
| `class-cartflows-admin-report-emails.php` | Email scheduling and sending | |
| 253 |
|
| 254 |
### Templates |
| 255 |
|
| 256 |
- `email-header.php` |
| 257 |
- `email-body.php` |
| 258 |
- `email-footer.php` |
| 259 |
- `email-stat-content.php` |
| 260 |
- `cf-pro-block.php` |
| 261 |
- `other-product-block.php` |
| 262 |
|
| 263 |
--- |
| 264 |
|
| 265 |
## WooCommerce Dynamic Flow Module |
| 266 |
|
| 267 |
**Directory:** `modules/woo-dynamic-flow/` |
| 268 |
|
| 269 |
Enables product-based automatic funnel routing — when a customer adds a specific product to cart, they are automatically sent through a configured funnel. |
| 270 |
|
| 271 |
### Classes |
| 272 |
|
| 273 |
| Class | Purpose | |
| 274 |
|-------|---------| |
| 275 |
| `class-cartflows-wd-flow-loader.php` | Module bootstrap | |
| 276 |
| `class-cartflows-wd-flow-product-meta.php` | Per-product funnel settings | |
| 277 |
| `class-cartflows-wd-flow-product-actions.php` | Product-triggered flow actions | |
| 278 |
| `class-cartflows-wd-flow-actions.php` | Flow routing logic | |
| 279 |
| `class-cartflows-wd-flow-shortcodes.php` | Dynamic flow shortcodes | |
| 280 |
|
| 281 |
--- |
| 282 |
|
| 283 |
## Related Pages |
| 284 |
|
| 285 |
- [](Architecture-OverviewArchitecture-Overview](Architecture-Overview](Architecture-Overview) |
| 286 |
- [](WordPress-Plugin-StructureWordPress-Plugin-Structure](WordPress-Plugin-Structure](WordPress-Plugin-Structure) |
| 287 |
- [](Page-Builder-IntegrationsPage-Builder-Integrations](Page-Builder-Integrations](Page-Builder-Integrations) |
| 288 |
- [](WooCommerce-IntegrationWooCommerce-Integration](WooCommerce-Integration](WooCommerce-Integration) |
| 289 |
- [](Database-SchemaDatabase-Schema](Database-Schema](Database-Schema) |
| 290 |
|