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.36 (2026-07-04)
- Fix: class-based CSS rules from theme + template
<style>blocks are now inlined onto matching elements at render time (newinlineClassCssRulesIntoElements()inRenderer.php, mirroring the existing id-based inliner). Previously only id-based rules were inlined, so class-based theme styling (.header,.content,.footer,.container,.button) survived Gmail but was frequently stripped by Outlook desktop — with the visible result that the.headerbackground/padding disappeared, leaving white h2 text (like{{subject}}) on white body background and thus invisible. - Fix: CSS custom properties (
var(--waet-primary), etc.) referenced in class/id CSS rules are now resolved against the theme's:root { --waet-*: #hex; }block at render time before inlining. Outlook desktop does not evaluatevar(), so unresolved variables previously fell back tounset— producing missing header background colors and colorless CTA buttons in Outlook. Resolved values are baked into the inlinestyleattribute so they render identically in every mail client.
1.1.35 (2026-05-22)
- Compatibility: Tested with WordPress 7.0.
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