feat: complete Newsletter Campaigns Phase 1

- Add default campaign email template to DefaultTemplates.php
- Add toggle settings (campaign_scheduling, subscriber_limit_enabled)
- Add public unsubscribe endpoint with secure token verification
- Update CampaignManager to use NewsletterController unsubscribe URLs
- Add generate_unsubscribe_url() helper for email templates
This commit is contained in:
Dwindi Ramadhana
2025-12-31 21:17:59 +07:00
parent 3d5191aab3
commit d7505252ac
4 changed files with 138 additions and 6 deletions

View File

@@ -428,12 +428,8 @@ class CampaignManager {
* @return string
*/
private static function get_unsubscribe_url($email) {
$token = wp_hash($email . 'woonoow_unsubscribe');
return add_query_arg([
'woonoow_unsubscribe' => 1,
'email' => urlencode($email),
'token' => $token,
], home_url());
// Use NewsletterController's secure token-based URL
return \WooNooW\API\NewsletterController::generate_unsubscribe_url($email);
}
/**