🐛 CRITICAL FIX - Root Cause Found:
Problem 1: Events Not Enabled by Default
- is_event_enabled() returned false if not configured
- Required explicit admin configuration
- Plugin didn't work out-of-the-box
Solution:
- Enable email notifications by default if not configured
- Allow plugin to work with default templates
- Users can still disable via admin if needed
Problem 2: Default Templates Not Loading
- EmailRenderer called get_template() with only 2 args
- Missing $recipient_type parameter
- Default template lookup failed
Solution:
- Pass recipient_type to get_template()
- Proper default template lookup
- Added debug logging for template resolution
📝 Changes:
1. EmailManager::is_event_enabled()
- Returns true by default for email channel
- Logs when using default (not configured)
- Respects explicit disable if configured
2. EmailRenderer::get_template_settings()
- Pass recipient_type to TemplateProvider
- Log template found/not found
- Proper default template resolution
🎯 Result:
- Plugin works out-of-the-box
- Default templates used if not customized
- Email notifications sent without configuration
- Users can still customize in admin
✅ Expected Behavior:
1. Install plugin
2. Create order
3. Email sent automatically (default template)
4. Customize templates in admin (optional)
This fixes the issue where check-settings.php showed:
- Email: ✗ NOT CONFIGURED
- Templates: 0
Now it will use defaults and send emails!