Lume Editor – Visual Email Designer
Wordpress Email Customiser Plugin
by CartRabbit Technology · github.com/dakshu007/lume-editor · website
★ 1stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dakshu007/lume-editor/archive/refs/heads/main.zipA platform-level drag-and-drop email designer for WooCommerce & WordPress, built by CartRabbit Technology.
Match every YayMail 4.0 feature — and extend beyond.
✨ Features at a Glance
| Category | Feature |
|---|---|
| 🎨 Builder | WYSIWYG drag-and-drop, undo/redo, revision history, multi-select, copy/paste styles |
| 📐 Design | 14 block types, 1–4 column layouts, Global Header/Footer, Pattern Library, Custom CSS, Google Fonts |
| ⚡ Dynamic | 40+ shortcodes, Conditional Logic (Pro), Developer API, Sample Order Preview |
| 🛒 WooCommerce | All 11 WC emails + 80+ plugin integrations (Subscriptions, AST, AutomateWoo, WPML, Polylang…) |
| 🔧 Admin | Export/Import JSON, Template Mapping, Source Identifier, REST API |
| 📧 Delivery | Test email sender, Dark Mode, Responsive stacking engine |
| 🔒 Security | manage_options capability checks, prepared statements, CVE-2026-1937 patched |
📁 File Structure
lume-editor/
├── lume-editor.php # Plugin bootstrap (PHP 8.0+ gate, HPOS compat)
├── uninstall.php
│
├── includes/
│ ├── class-plugin.php # Singleton – wires all subsystems
│ ├── class-installer.php # 6 DB tables via dbDelta, cron events, seeds
│ ├── class-emailcustomizer.php # wp_mail + WC email pipeline hooks
│ ├── class-templaterepository.php # CRUD, revisions, mapping, logs, export/import
│ ├── class-renderer.php # JSON → HTML, conditions, dark mode, responsive
│ ├── class-shortcodeengine.php # {{token}} processor, 40+ built-ins
│ ├── class-globalelements.php # Global header/footer + DarkMode, ResponsiveEngine, DeveloperApi, SourceIdentifier
│ ├── class-licensemanager.php # CartRabbit API license + AjaxHandlers
│ │
│ ├── blocks/
│ │ └── class-blockregistry.php # 14 blocks: logo, image, header, text, button,
│ │ # social, video, html, columns, divider, spacer,
│ │ # footer, product_card, coupon
│ ├── api/
│ │ └── class-restcontroller.php # 20+ REST routes (namespace lume-editor/v1)
│ │
│ ├── admin/
│ │ └── class-admin.php # 8 admin pages, asset enqueue, settings save
│ │
│ └── integrations/
│ └── class-woocommerceintegration.php # WC + Subscriptions + ShipmentTracking +
│ # ProductBundle + AutomateWoo + Wpml + CheckoutFields
│
├── admin/
│ ├── css/lume-editor.css # Complete design system (~700 lines)
│ ├── js/
│ │ ├── lume-blocks.js # Block canvas renderers & definitions
│ │ ├── lume-editor.js # Full editor engine (~700 lines)
│ │ └── lume-admin.js # Admin list, mapping, export/import JS
│ └── views/
│ ├── templates.php, editor.php, settings.php, logs.php
│ ├── mapping.php, global-elements.php, patterns.php, export-import.php
│
└── tests/
├── bootstrap.php
└── RendererTest.php
🚀 Installation
# Drop into wp-content/plugins/
git clone https://github.com/cartrabbit/lume-editor.git wp-content/plugins/lume-editor
# Activate
wp plugin activate lume-editor
Or upload the ZIP via WP Admin → Plugins → Add New → Upload Plugin.
🗄 Database Tables
| Table | Purpose |
|---|---|
lume_templates |
JSON blocks + settings per template |
lume_revisions |
Rolling save history (max 30 per template) |
lume_logs |
Sent-email audit trail (auto-pruned, configurable days) |
lume_template_map |
Maps WC email ID → Lume template ID |
lume_global_elements |
Single header / footer block set |
lume_patterns |
Reusable layout pattern library |
🔌 REST API
Base: /wp-json/lume-editor/v1/
Auth: WordPress Cookie (X-WP-Nonce) or Application Passwords.
| Method | Endpoint | Description |
|---|---|---|
| GET/POST | /templates |
List / Create |
| GET/PUT/DELETE | /templates/{id} |
Read / Update / Soft-delete |
| POST | /templates/{id}/duplicate |
Duplicate |
| GET | /templates/{id}/revisions |
List revisions |
| POST | /templates/{id}/revisions/{rid}/restore |
Restore |
| POST | /preview |
Render JSON → HTML |
| POST | /test-email |
Send test |
| GET/POST | /global-elements/{header\|footer} |
Read / Save |
| GET/POST | /mapping |
Read / Save template mapping |
| GET | /patterns |
List patterns |
| GET | /export |
Export JSON |
| POST | /import |
Import JSON |
| GET | /shortcodes |
Grouped shortcode list |
| GET | /blocks |
Block palette |
| GET | /logs |
Sent email log |
| GET | /sample-order |
Sample preview context |
| GET | /wc-emails |
WC email list with Source Identifier |
🪝 Developer Hooks
Register a Custom Block
add_action('lume_editor_init', function(\LumeEditor\DeveloperApi $api) {
$api->register_block('countdown', [
'label' => 'Countdown Timer',
'icon' => '⏱',
'category' => 'dynamic',
'defaults' => ['end_date' => '', 'label' => 'Sale ends in:'],
'schema' => [
['key' => 'end_date', 'label' => 'End Date', 'type' => 'text'],
['key' => 'label', 'label' => 'Label', 'type' => 'text'],
],
'render' => function(array $block): string {
return '<table width="100%"><tr><td style="text-align:center;padding:20px;">⏱ Countdown</td></tr></table>';
},
]);
});
Register a Custom Shortcode
add_action('lume_editor_init', function(\LumeEditor\DeveloperApi $api) {
$api->register_shortcode(
'my_custom_field',
fn($ctx) => esc_html(get_user_meta($ctx['customer_id'] ?? 0, 'my_field', true)),
'My Custom Field',
'custom'
);
});
Enrich Render Context
add_filter('lume_editor_wc_context', function(array $ctx, \WC_Email $email): array {
$ctx['my_token'] = 'Hello!';
return $ctx;
}, 10, 2);
⌨️ Editor Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl/⌘ + S |
Save template |
Ctrl/⌘ + Z |
Undo |
Ctrl/⌘ + Y / ⌘⇧Z |
Redo |
Ctrl/⌘ + D |
Duplicate selected block |
Delete / Backspace |
Delete selected block |
Esc |
Deselect all |
Shift + Click |
Multi-select |
🔒 Security
- All REST routes require
manage_optionscapability - All inputs sanitized (
sanitize_text_field,sanitize_key,wp_kses_post) - All DB queries use
$wpdb->prepare()(no raw interpolation) - Nonces on all AJAX requests
- CVE-2026-1937 capability escalation patches applied
🏢 About CartRabbit Technology
Built and maintained by the CartRabbit team — specialists in WooCommerce growth tools, email optimization, and conversion-focused WordPress plugins.
🌐 cartrabbit.io · 📧 dev@cartrabbit.io