Beskrivelse
WA Email Templates giver et genbrugeligt drag & drop e-mail-skabelonsystem til WordPress, designet til transaktionsmails og medlemshenvendelser. Det er bygget til brug af andre Webalive-plugins (f.eks. WAMP, WWET) via en stabil REST API eller direkte PHP-integration.
Ændringslog
1.1.33
- New: Template variables with
_htmlsuffix are rendered as safe HTML (wp_kses_post) instead of escaped text. Afoo_htmlvariable also overrides the{{foo}}token, so existing templates work without changes.
1.1.31
- Fixed: URL field in editor traits no longer loses focus when typing/pasting merge tags.
- Added: "Use {{active_url}}" checkbox for link/button URL to avoid manual paste.
1.1.30
- Improved: On opening a template in the editor, WAET now automatically converts old Outlook VML button pairs (mso/!mso) into a single generic button so the same markup is used everywhere.
1.1.29
- Fixed: More complete auto-fix at load for broken line-height in px: repairs inline styles, embedded blocks, and saved editor stylesData.
1.1.28
- Fixed: Auto-fix broken td/th inline style
line-height: Npx(e.g. 1.5px) at load to prevent overlapping text in the editor.
1.1.27
- Fixed: Avoid text overlap when templates set a broken td/th line-height (eg 1.5px) by forcing a safe unitless line-height on the injected
wrapper.
1.1.26
- Fixed: Prevent overlap/layout issues after wrapping
/ text by hardening the injected with safer inline styles (margin/padding/position/line-height).
1.1.25
- Maintenance: Version bump / cache bust.
1.1.24
- Fixed: Existing templates that load from design_json.gjsHtml are now normalized on load, so orphan
/ text gets wrapped into an editable even when componentsData is missing.
1.1.23
- Fixed: More robust migration for existing templates (design_json/componentsData): pure-text
/ now becomes a real editable even when the saved text is nested under text components.
1.1.22
- Fixed: Existing templates loaded from saved editor state (design_json) now wrap pure-text
/ into a text block ( ) so the cell content becomes editable.
1.1.21
- Fixed: Hardened renderer fragment handling for Outlook (avoids injecting MSO OfficeDocumentSettings unless a real exists; strips head-only tags/MSO settings from fragments).
- Fixed: Removes corrupt MSO artifact
<!--[if mso]>96<![endif]-->so it can't become visible in output. - Added: Queue setting
waet_queue_settings[org_email]and default merge tag{{org_email}}. - Improved: GrapesJS import now wraps pure-text
/ into … so the content becomes editable.
1.1.20
- Improved: Outlook centering for the main 600px container (forces align="center" on container table + wrapper cell).
- Improved: Header/banner image clamp is more robust and resists Gmail oversizing.
- Improved: Mail test subject now defaults via input value (not placeholder) so it is included by default.
1.1.19
- Fixed: GrapesJS ID-based CSS is now inlined at render time (more consistent buttons/images across Gmail/Outlook).
- Fixed: Repairs malformed MSO/!MSO button blocks that caused Outlook to show stale "Get Started" text.
- Fixed: Ensures list card images are constrained in Outlook (adds width inline for list-item-image).
1.1.18
- Improved: Test-send via WAET admin now routes through the WAET queue in send-through mode.
1.1.17
- Fixed: Outlook (MSO/VML) buttons are now synchronized with the visible !mso version (href + label), preventing stale "Get Started" text/links.
- Fixed: VML button colors now support rgb(...) by converting to hex where required.
1.1.16
- Fixed: PDF tab in link picker now uses a valid wp/v2/media query (removed invalid media_type param that caused HTTP 400).
1.1.15
- Improved: Link picker (waet-link-modal) now includes a PDF tab powered by the WordPress Media Library (wp/v2/media), returning direct PDF file URLs.
1.1.14
- Fixed: Mail test variable inputs now ignore WAET preset merge tags (e.g. org_*, email_from, support_email, tracking_pixel).
- Improved: Missing button links now fall back to the site frontpage instead of "#".
- Fixed: GrapesJS import now preserves !mso button content while still extracting MSO/VML blocks safely.
- Fixed: Table copy/paste now duplicates single-cell rows as new columns (cells) rather than inserting new rows.
- Improved: Normalizes buttons/images on save and at render time (repairs missing/invalid markup and removes external placeholder images).
1.0.10
- Smaller test
1.0.9
- Fixed: Normalizes entity-encoded MSO conditional comments (prevents main content being commented out).
- Fixed: Normalizes known-bad HTML encodings on save to keep DB templates stable.
1.0.8
- Fixed: Mail test now supports viewing the raw rendered HTML (helps diagnose broken/blank previews).
- Fixed: Renderer compatibility improvements (avoid PHP 8-only functions, prevent render-time fatals).
1.0.7
- Maintenance: Internal release.
1.0.6
- Fixed: Ensure the packaged plugin includes the corrected Admin asset loader (prevents PHP parse error on activation).
1.0.5
- Fixed: PHP parse error in Admin asset loader (broken PHPDoc could fatal on some deployments).
1.0.4
- Docs: Added missing PHPDoc across the plugin and top-level JSDoc in assets-src
- Docs: Avoided using a literal "*/" sequence inside PHPDoc text to prevent accidental comment termination
1.0.3
- Fixed: Editor JS could crash with "debug is not defined" which prevented WP Media modal and custom settings panels (links/buttons/tables) from working
1.0.2
- Improved: Show a clear admin notice if editor build assets are missing or partially deployed (Vite manifest/assets mismatch)
1.0.1
- Improved: Import Template modal now lists starter templates from /templates dynamically
- Added: REST endpoint to list available import templates (/email-templates/import-templates)
- Added: Starter template metadata headers (/* ... /) for name/description + optional i18n keys
- Changed: Only templates that include a metadata header block are shown in the Import Template list
- Note: Templates without a metadata header are hidden from the list (but can still be imported directly via /email-templates/import/{template})
- Updated: Added metadata header to newsletter.html so it is importable
- Improved: Theme selector now supports custom themes (auto-detects themes/*.css)
- Docs: Added guidance for custom themes and templates
1.0.0
- Release: Consolidates changes from 0.7.16–0.7.48 into the first stable release
- Improved: Compact, theme-aware Link/Button traits UI (including Spectrum palette from theme :root)
- Improved: Full i18n support (plugin + editor UI)
- Fixed: State-aware style editing (normal vs :hover) and Link/Button feature parity
- Fixed: Better Outlook compatibility (preserve MSO/VML and inject MSO OfficeDocumentSettings block)
0.7.15
- Improved: Mail test success message with larger text and green check icon
0.7.14
- Fixed: Mail test modal body uses full height
0.7.13
- Fixed: Only load editor/media scripts on editor screen
- Improved: Show test mail error message in modal
0.7.12
- Improved: Test mail now returns error details and sets From header
0.7.11
- Added: Template list actions (edit, duplicate, mail test, delete)
- Added: Test mail modal with variable inputs and preview
- Added: REST endpoints for duplicate/delete/test send
0.7.10
- Fixed: Removed GrapesJS import-template toolbar button
- Added: Block label + category i18n in editor
- Improved: Localized "No link settings" text in traits panel
0.7.0
- Added: Full i18n support for editor interface
- Added: Danish translations for all editor strings
- Added: Translated trait labels (Link URL, Open in, Same/New window)
- Added: Translated import modal (template names and descriptions)
- Added: Translated link picker modal
- Added: Translated status messages (saving, saved, theme changed, etc.)
- Improved: All editor UI text now uses WordPress translation system
- Updated: Danish .po file with 20+ new translation strings
0.6.5
- Fixed: Font-family now applies to all text elements (was only applying to elements with existing font-family)
- Added: Responsive image defaults - width 100%, max-width 100%, height auto
- Improved: Block manager layout - 3 columns instead of 2 for better space utilization
- Improved: Smaller block sizes (60px height, 32px icons) for more compact interface
- Improved: Preset-newsletter configuration - hide unnecessary blocks
- Note: i18n for templates and builder coming in next version
0.6.4
- Added: Font-family theming - Light (Arial), Blue (Georgia), Red (Verdana)
- Added: Font-size theming - different sizes for body text and headings per theme
- Improved: Role-based color mapping - themes can switch between each other seamlessly
- Fixed: Theme switching now works correctly in all directions (light↔blue↔red)
0.6.3
- Fixed: Theme colors now apply correctly - expanded color mapping
- Fixed: All color properties handled (background-color, color, border-color, etc.)
- Improved: More aggressive color matching with normalization
- Improved: Added editor.refresh() to force visual update
- Improved: Better console logging for debugging theme changes
0.6.2
- Fixed: Removed inappropriate beforeunload confirmation dialog
- Fixed: Theme colors now apply to inline styles (GrapesJS compatibility)
- Added: Custom dirty tracking - warns only on actual unsaved changes
- Added: Automatic theme color application to inline style attributes
- Improved: Theme system now works correctly with email-safe inline styles
- Improved: Editor marks changes as saved after successful update
0.6.1
- Fixed: Live theme preview in editor canvas - themes now update immediately
- Added: Theme CSS injection into GrapesJS canvas iframe
- Added: Theme change event listener with instant visual feedback
- Added: Plugin URL to localized script data for theme file loading
- Improved: Theme system now works in both editor preview and email rendering
0.6.0
- Added: Theme system with 3 built-in themes (Light, Blue, Red)
- Added: Theme selector dropdown in editor toolbar
- Added: Template import system with pre-made templates
- Added: Import button with modal for Welcome, Newsletter, Notification templates
- Added: Theme CSS auto-loading in email rendering
- Added: Database column for theme storage
- Improved: Editor toolbar with better organization
- REST API: New import endpoint /email-templates/import/{template}
0.5.1
- Added: Comprehensive testing guide (TESTING.md) with 29 test cases
- Added: Quick test script reference for integration validation
- Documentation: Complete test suite covering editor, REST API, cache, security, and WAMP integration
0.5.0
- Link picker with localStorage cache (5 min TTL) for instant loading
- Events tab added (mep_events post type) alongside Pages, Posts, Products
- Custom REST endpoint for internal links with WP_Query support
- Link URL and Open in fields for images, links, and buttons
- Browse button to select internal WordPress content
- Manual trait rendering with custom HTML forms
- Enhanced component detection (tagName, type, classes)
- Wider side panels (300px) for better usability
0.4.0
- Link functionality for images - auto-wraps in tags
- Settings panel injection via DOM manipulation
- Trait manager integration with GrapesJS preset-newsletter
- Multiple approaches tested for reliable trait rendering
0.3.0
- Custom WordPress Media Library modal using REST API
- Replaced wp.media() framework to fix blank modal issues
- Grid layout image picker with direct insertion
- Full i18n support for all UI strings
- Dedicated wpApiUrl for WordPress core API
0.2.0
- WordPress Media Library integration attempts
- Various wp.media() configurations and debugging
- Media frame and template loading improvements
0.1.0
- Initial release with drag & drop email editor
- GrapesJS with preset-newsletter integration
- REST API for template management
- Variable replacement renderer ({{fname}}, {{amount}}, etc.)
- Dark theme (#0a5167) matching Webalive branding
- WooCommerce compatibility fixes
- Fixed: Existing templates loaded from saved editor state (design_json) now wrap pure-text
- Fixed: More robust migration for existing templates (design_json/componentsData): pure-text