WP Manifestindependent plugin directory
manifest / email / lume-editor

Lume Editor – Visual Email Designer

Wordpress Email Customiser Plugin

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/dakshu007/lume-editor/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A 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_options capability
  • 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