billing_email, $subject, $message ); } /** * Completed order notification email template - this one includes download links for downloadable products **/ add_action('woocommerce_order_status_completed', 'woocommerce_completed_order_customer_notification'); function woocommerce_completed_order_customer_notification( $id ) { global $order_id, $email_heading; $order_id = $id; $order = &new woocommerce_order( $order_id ); if ($order->has_downloadable_item()) : $subject = __('[%s] Order Complete/Download Links', 'woothemes'); $email_heading = __('Order Complete/Download Links', 'woothemes'); else : $subject = __('[%s] Order Complete', 'woothemes'); $email_heading = __('Order Complete', 'woothemes'); endif; $email_heading = apply_filters('woocommerce_completed_order_customer_notification_subject', $email_heading); $subject = sprintf($subject, get_bloginfo('name')); // Buffer ob_start(); // Get mail template woocommerce_get_template('emails/customer_completed_order.php', false); // Get contents $message = ob_get_clean(); // Send the mail woocommerce_mail( $order->billing_email, $subject, $message ); } /** * Pay for order notification email template - this one includes a payment link **/ function woocommerce_pay_for_order_customer_notification( $order ) { global $order_id, $the_order, $email_heading; $order_id = $order->id; $the_order = $order; $email_heading = sprintf(__('Invoice for Order #%s', 'woothemes'), $order_id); $subject = sprintf(__('[%s] Pay for Order', 'woothemes'), get_bloginfo('name')); // Buffer ob_start(); // Get mail template woocommerce_get_template('emails/customer_pay_for_order.php', false); // Get contents $message = ob_get_clean(); // Send the mail woocommerce_mail( $order->billing_email, $subject, $message ); } /** * Low stock notification email **/ function woocommerce_low_stock_notification( $product ) { $_product = &new woocommerce_product($product); $subject = '[' . get_bloginfo('name') . '] ' . __('Product low in stock', 'woothemes'); $message = '#' . $_product->id .' '. $_product->get_title() . ' ('. $_product->sku.') ' . __('is low in stock.', 'woothemes'); $message = wordwrap( html_entity_decode( strip_tags( $message ) ), 70 ); wp_mail( get_option('woocommerce_stock_email_recipient'), $subject, $message ); } /** * No stock notification email **/ function woocommerce_no_stock_notification( $product ) { $_product = &new woocommerce_product($product); $subject = '[' . get_bloginfo('name') . '] ' . __('Product out of stock', 'woothemes'); $message = '#' . $_product->id .' '. $_product->get_title() . ' ('. $_product->sku.') ' . __('is out of stock.', 'woothemes'); $message = wordwrap( html_entity_decode( strip_tags( $message ) ), 70 ); wp_mail( get_option('woocommerce_stock_email_recipient'), $subject, $message ); } /** * Backorder notification email **/ function woocommerce_product_on_backorder_notification( $product, $amount ) { $_product = &new woocommerce_product($product); $subject = '[' . get_bloginfo('name') . '] ' . __('Product Backorder', 'woothemes'); $message = $amount . __(' units of #', 'woothemes') . $_product->id .' '. $_product->get_title() . ' ('. $_product->sku.') ' . __('have been backordered.', 'woothemes'); $message = wordwrap( html_entity_decode( strip_tags( $message ) ), 70 ); wp_mail( get_option('woocommerce_stock_email_recipient'), $subject, $message ); } /** * Preview Emails **/ add_action('admin_init', 'woocommerce_preview_emails'); function woocommerce_preview_emails() { if (isset($_GET['preview_woocommerce_mail'])) : $nonce = $_REQUEST['_wpnonce']; if (!wp_verify_nonce($nonce, 'preview-mail') ) die('Security check'); global $email_heading; $email_heading = __('Email preview', 'woothemes'); do_action('woocommerce_email_header'); echo '
'.$key.': '.$value.'
'; endforeach; endif; } /** * Customer new account welcome email **/ function woocommerce_customer_new_account( $user_id, $plaintext_pass ) { global $email_heading, $user_login, $user_pass, $blogname; if ( empty($plaintext_pass) ) return; $user = new WP_User($user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); $user_pass = $plaintext_pass; $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $subject = sprintf(__('Your account on %s', 'woothemes'), $blogname); $email_heading = __('Your account details', 'woothemes'); // Buffer ob_start(); // Get mail template woocommerce_get_template('emails/customer_new_account.php', false); // Get contents $message = ob_get_clean(); // Send the mail woocommerce_mail( $user_email, $subject, $message ); }