feat: Add all WooCommerce order status events
Added missing order status events that were not showing in admin UI. New Events Added (Staff + Customer): - Order On-Hold (awaiting payment) - Order Failed (payment/processing failed) - Order Refunded (full refund processed) - Order Pending (initial order state) Changes: 1. EventRegistry.php - Added 8 new event definitions 2. DefaultTemplates.php - Added 8 new email templates 3. DefaultTemplates.php - Added subject lines for all new events Now Available in Admin: - Staff: 11 order events total - Customer: 12 events total (including new customer) All events can be toggled on/off per channel (email/push) in admin UI.
This commit is contained in:
@@ -37,6 +37,10 @@ class DefaultTemplates {
|
||||
'order_shipped' => self::customer_order_shipped(),
|
||||
'order_completed' => self::customer_order_completed(),
|
||||
'order_cancelled' => self::customer_order_cancelled(),
|
||||
'order_on_hold' => self::customer_order_on_hold(),
|
||||
'order_failed' => self::customer_order_failed(),
|
||||
'order_refunded' => self::customer_order_refunded(),
|
||||
'order_pending' => self::customer_order_pending(),
|
||||
'payment_received' => self::customer_payment_received(),
|
||||
'payment_failed' => self::customer_payment_failed(),
|
||||
'new_customer' => self::customer_new_customer(),
|
||||
@@ -47,6 +51,10 @@ class DefaultTemplates {
|
||||
'order_shipped' => self::staff_order_shipped(),
|
||||
'order_completed' => self::staff_order_completed(),
|
||||
'order_cancelled' => self::staff_order_cancelled(),
|
||||
'order_on_hold' => self::staff_order_on_hold(),
|
||||
'order_failed' => self::staff_order_failed(),
|
||||
'order_refunded' => self::staff_order_refunded(),
|
||||
'order_pending' => self::staff_order_pending(),
|
||||
'payment_received' => self::staff_payment_received(),
|
||||
'payment_failed' => self::staff_payment_failed(),
|
||||
],
|
||||
@@ -77,6 +85,10 @@ class DefaultTemplates {
|
||||
'order_shipped' => 'Your order #{order_number} is on its way',
|
||||
'order_completed' => 'Your order #{order_number} has arrived',
|
||||
'order_cancelled' => 'Your order #{order_number} has been cancelled',
|
||||
'order_on_hold' => 'Your order #{order_number} is on hold',
|
||||
'order_failed' => 'Your order #{order_number} has failed',
|
||||
'order_refunded' => 'Your order #{order_number} has been refunded',
|
||||
'order_pending' => 'Your order #{order_number} is pending',
|
||||
'payment_received' => 'Payment confirmed for order #{order_number}',
|
||||
'payment_failed' => 'Payment failed for order #{order_number}',
|
||||
'new_customer' => 'Welcome to {site_name}!',
|
||||
@@ -87,6 +99,10 @@ class DefaultTemplates {
|
||||
'order_shipped' => '[Order Shipped] #{order_number}',
|
||||
'order_completed' => '[Order Completed] #{order_number}',
|
||||
'order_cancelled' => '[Order Cancelled] #{order_number}',
|
||||
'order_on_hold' => '[Order On-Hold] #{order_number}',
|
||||
'order_failed' => '[Order Failed] #{order_number}',
|
||||
'order_refunded' => '[Order Refunded] #{order_number}',
|
||||
'order_pending' => '[Order Pending] #{order_number}',
|
||||
'payment_received' => '[Payment Received] #{order_number} - {order_total}',
|
||||
'payment_failed' => '[Payment Failed] #{order_number}',
|
||||
],
|
||||
@@ -788,4 +804,227 @@ Order is reserved but will be cancelled automatically if payment is not received
|
||||
|
||||
[/card]';
|
||||
}
|
||||
|
||||
// ========================================================================
|
||||
// ADDITIONAL ORDER STATUS TEMPLATES
|
||||
// ========================================================================
|
||||
|
||||
/**
|
||||
* Customer: Order On-Hold
|
||||
*/
|
||||
private static function customer_order_on_hold() {
|
||||
return '[card type="info"]
|
||||
|
||||
## Your order is on hold
|
||||
|
||||
Your order #{order_number} is awaiting payment confirmation.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Order Total:** {order_total}
|
||||
**Payment Method:** {payment_method}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{payment_retry_url}"]Complete Payment[/button]
|
||||
|
||||
[card]
|
||||
|
||||
Questions? Contact us: {support_email}
|
||||
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Customer: Order Failed
|
||||
*/
|
||||
private static function customer_order_failed() {
|
||||
return '[card type="warning"]
|
||||
|
||||
## Order #{order_number} has failed
|
||||
|
||||
Unfortunately, your order could not be processed.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Order Total:** {order_total}
|
||||
**Reason:** Payment could not be processed
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{shop_url}"]Continue Shopping[/button]
|
||||
|
||||
[card]
|
||||
|
||||
Need help? Contact: {support_email}
|
||||
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Customer: Order Refunded
|
||||
*/
|
||||
private static function customer_order_refunded() {
|
||||
return '[card type="success"]
|
||||
|
||||
## Your order #{order_number} has been refunded
|
||||
|
||||
Your refund has been processed successfully.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Refund Amount:** {order_total}
|
||||
**Refund Date:** {order_date}
|
||||
|
||||
[/card]
|
||||
|
||||
[card type="info"]
|
||||
|
||||
The refund will appear in your account within 5-10 business days depending on your payment provider.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
Questions? Contact: {support_email}
|
||||
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Customer: Order Pending
|
||||
*/
|
||||
private static function customer_order_pending() {
|
||||
return '[card type="info"]
|
||||
|
||||
## Thank you for your order!
|
||||
|
||||
Your order #{order_number} is pending and will be processed once payment is confirmed.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Order Total:** {order_total}
|
||||
**Payment Method:** {payment_method}
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
{order_items_table}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{order_url}"]View Order[/button]
|
||||
|
||||
[card]
|
||||
|
||||
Questions? Contact: {support_email}
|
||||
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Staff: Order On-Hold
|
||||
*/
|
||||
private static function staff_order_on_hold() {
|
||||
return '[card type="info"]
|
||||
|
||||
## Order #{order_number} is on hold
|
||||
|
||||
Awaiting payment confirmation from {customer_name}.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Customer:** {customer_name}
|
||||
**Order Total:** {order_total}
|
||||
**Payment Method:** {payment_method}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{order_url}"]View Order[/button]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Staff: Order Failed
|
||||
*/
|
||||
private static function staff_order_failed() {
|
||||
return '[card type="warning"]
|
||||
|
||||
## Order #{order_number} has failed
|
||||
|
||||
Order from {customer_name} could not be processed.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Customer:** {customer_name}
|
||||
**Order Total:** {order_total}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{order_url}"]View Details[/button]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Staff: Order Refunded
|
||||
*/
|
||||
private static function staff_order_refunded() {
|
||||
return '[card type="success"]
|
||||
|
||||
## Order #{order_number} has been refunded
|
||||
|
||||
Refund processed for {customer_name}.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Customer:** {customer_name}
|
||||
**Refund Amount:** {order_total}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{order_url}"]View Order[/button]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Staff: Order Pending
|
||||
*/
|
||||
private static function staff_order_pending() {
|
||||
return '[card type="info"]
|
||||
|
||||
## New pending order #{order_number}
|
||||
|
||||
Order from {customer_name} is pending payment.
|
||||
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
|
||||
**Order Number:** #{order_number}
|
||||
**Customer:** {customer_name}
|
||||
**Order Total:** {order_total}
|
||||
|
||||
[/card]
|
||||
|
||||
[button url="{order_url}"]View Order[/button]';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user