Skip to content

Instantly share code, notes, and snippets.

@JPry
Forked from woogists/wc-send-coupons-by-email.php
Last active February 1, 2019 15:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JPry/ae7f5126bd1dc66971a7ce321738749e to your computer and use it in GitHub Desktop.
Save JPry/ae7f5126bd1dc66971a7ce321738749e to your computer and use it in GitHub Desktop.
Send coupons used in an order by email
<?php
/**
* Send an email each time an order with coupon(s) is completed
*
* The email contains coupon(s) used during checkout process
*
* @param int $order_id The ID of the order.
*/
function jp_email_order_coupons( $order_id ) {
$order = new WC_Order( $order_id );
if ( ! $order->get_used_coupons() ) {
return;
}
// Load the order details using the WC hooks.
ob_start();
WC_Emails::instance()->order_details( $order );
$order_details = ob_get_clean();
$to = 'youremail@yourcompany.com';
$subject = 'New Order Completed';
$headers = 'From: My Name <youremail@yourcompany.com>' . "\r\n";
$message = 'A new order has been completed.\n';
$message .= 'Order ID: ' . $order_id . '\n';
$message .= 'Coupons used:\n';
foreach ( $order->get_used_coupons() as $coupon ) {
$message .= $coupon . '\n';
}
$message .= 'Order details: ' . $order_details . '\n';
@wp_mail( $to, $subject, $message, $headers );
}
add_action( 'woocommerce_thankyou', 'jp_email_order_coupons' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment