Documentation for the Custom Emails for WooCommerce plugin.

Custom Emails for WooCommerce

Author: WPFactory PluginsVersion: 2.9.5Updated: 7 days ago
Requires WordPress version: 4.4Tested up to WordPress version: 6.5

Custom Emails for WooCommerce plugin lets you add fully customizable emails to WooCommerce. Custom emails are sent to the recipient list when selected triggers are called. Order emails can also be sent manually, via “Order actions” meta box.


Settings

General Options

General settings are located in “WooCommerce > Settings > Custom Emails”.

Custom Emails for WooCommerce - General Options

Number of emails
Sets total number of custom emails you wish to add.
Default: 1
Admin title #N
Sets admin title for each custom email.
Default: Custom email

Custom Emails for WooCommerce - WooCommerce Emails

Email Options

Settings for each custom email are located in “WooCommerce > Settings > Emails > Custom email #N”.

Custom Emails for WooCommerce - Email Options

Enable/Disable
Enables/disables current email.
Default: yes
Trigger(s)
Custom emails are automatically sent to the recipient list when selected triggers are called. You can set triggers here.
Default: None

You can also send emails manually, from “Order actions” meta box on order’s admin edit page:

Custom Emails for WooCommerce - Order Actions

Also you can use “Bulk actions” (on the “Orders” admin page) to send custom emails manually and in bulk:

Bulk actions

Delay
Optionally delay the email, e.g. by one week after order was completed. Ignored if set to zero.
Default: 0
Delay unit
Possible values: seconds; minutes; hours; days; weeks.
Default: seconds
Require order product(s)
Email will be sent only if there is at least one of the selected products in the order. Option is ignored for non-order emails or if the option is empty.
Default: None
Exclude order product(s)
Email will not be sent if there is at least one of the selected products in the order. Option is ignored for non-order emails or if the option is empty.
Default: None
Minimum order amount
Minimum order amount (subtotal) for email to be sent. Option is ignored for non-order emails or if the option is empty.
Default: None
Maximum order amount
Maximum order amount (subtotal) for email to be sent. Option is ignored for non-order emails or if the option is empty.
Default: None
Recipient(s)
Enter recipients (comma separated) for this email. Defaults to admin email. Use {customer} for customer billing email.
Default: None
Subject
You can use shortcodes and/or standard placeholders here.
Default:

[{site_title}] Order ({order_number}) - {order_date}
Email type
Choose which format of email to send. Possible values: Plain text; HTML; Multipart.
Default: HTML
WC email template
Wraps email content in WooCommerce email template.
Default: yes
Email heading
Used only if “WC email template” option is enabled and only for “HTML” email type. You can use shortcodes and/or standard placeholders here.
Default: Order {order_number}
Email content
Please make sure content is not empty. You can use shortcodes and/or standard placeholders here.
Default:

[order_details]</pre>
<table>
<tbody>
<tr>
<th>Billing address</th>
<th>Shipping address</th>
</tr>
<tr>
<td>[order_billing_address]</td>
<td>[order_shipping_address]</td>
</tr>
</tbody>
</table>
<p>

Placeholders

To make it consistent with standard WooCommerce emails, you can also use standard placeholders:

  • {site_title}
  • {site_address}
  • {order_number}
  • {order_date}

Triggers

Available triggers:

  • New order (Any status)
  • New order (Pending payment)
  • New order (Processing)
  • New order (On hold)
  • New order (Completed)
  • New order (Cancelled)
  • New order (Refunded)
  • New order (Failed)
  • Order status updated to Pending payment
  • Order status updated to Processing
  • Order status updated to On hold
  • Order status updated to Completed
  • Order status updated to Cancelled
  • Order status updated to Refunded
  • Order status updated to Failed
  • Order status Pending payment to Processing
  • Order status Pending payment to On hold
  • Order status Pending payment to Completed
  • Order status Pending payment to Cancelled
  • Order status Pending payment to Refunded
  • Order status Pending payment to Failed
  • Order status Processing to Pending payment
  • Order status Processing to On hold
  • Order status Processing to Completed
  • Order status Processing to Cancelled
  • Order status Processing to Refunded
  • Order status Processing to Failed
  • Order status On hold to Pending payment
  • Order status On hold to Processing
  • Order status On hold to Completed
  • Order status On hold to Cancelled
  • Order status On hold to Refunded
  • Order status On hold to Failed
  • Order status Completed to Pending payment
  • Order status Completed to Processing
  • Order status Completed to On hold
  • Order status Completed to Cancelled
  • Order status Completed to Refunded
  • Order status Completed to Failed
  • Order status Cancelled to Pending payment
  • Order status Cancelled to Processing
  • Order status Cancelled to On hold
  • Order status Cancelled to Completed
  • Order status Cancelled to Refunded
  • Order status Cancelled to Failed
  • Order status Refunded to Pending payment
  • Order status Refunded to Processing
  • Order status Refunded to On hold
  • Order status Refunded to Completed
  • Order status Refunded to Cancelled
  • Order status Refunded to Failed
  • Order status Failed to Pending payment
  • Order status Failed to Processing
  • Order status Failed to On hold
  • Order status Failed to Completed
  • Order status Failed to Cancelled
  • Order status Failed to Refunded
  • Reset password notification
  • Order fully refunded notification
  • Order partially refunded notification
  • New customer note notification
  • Low stock notification
  • No stock notification
  • Product on backorder notification
  • Created customer notification

* Please note, that new orders in WooCommerce by default are created with “Pending payment” status.


Shortcodes

  • [if][/if]
  • [clear]
  • [site_title]
  • [site_address]
  • [order_meta]
  • [order_func]
  • [order_number]
  • [order_total]
  • [order_total_tax]
  • [order_total_excl_tax]
  • [order_shipping_total]
  • [order_shipping_method]
  • [order_payment_method_title]
  • [order_total_items_count]
  • [order_date]
  • [order_details]
  • [order_billing_address]
  • [order_shipping_address]

if shortcode

if shortcode allows for conditional output of content.

Attributes
  • value1 – First value to compare. You can use shortcodes here by replacing [ and ] with { and }, for example, if you’d need to compare order total: value1="{order_total}".
  • value2 – Second value to compare. You can use shortcodes here, similar as it is in value1.
  • operator – Comparison operator. Can be equal, not_equal, less, less_or_equal, greater or greater_or_equal.
Examples
[if value1="{order_meta key='_my_meta_key'}" operator="greater" value2="0"]Content to output.[/if]

You can use shortcodes in content as well:

[if value1="{order_meta key='_my_meta_key'}" operator="greater" value2="0"][order_shipping_method][/if]

Changelog

2.9.5 - 08/04/2024

  • Dev - Shortcodes - [order_total_items_qty] shortcode added.
  • Tested up to: 6.5.

2.9.4 - 01/04/2024

  • Dev - Shortcodes - [order_view_url] shortcode added.
  • Dev - Shortcodes - [order_edit_url] shortcode added.
  • Dev - Shortcodes - [order_received_url] shortcode added.
  • Dev - Shortcodes - [order_cancel_url] shortcode added.
  • Dev - Shortcodes - [order_shipping_address_map_url] shortcode added.
  • Dev - Shortcodes - [order_id] shortcode added.
  • WC tested up to: 8.7.

2.9.3 - 13/03/2024

  • Dev - Triggers - Extra - "Customer address changed" and "Customer address saved" triggers added.
  • Dev - Scheduled - Admin - Object ID validation added.

2.9.2 - 01/03/2024

  • Readme.txt - Changelog - Truncated (full changelog moved to the changelog.txt file).
  • Readme.txt - Tags - woo commerce tag removed.

2.9.1 - 29/02/2024

  • Dev - Developers - alg_wc_custom_emails_delay_start_time filter added.
  • Dev - Developers - alg_wc_custom_emails_email_sent action added.
  • Dev - Developers - alg_wc_custom_emails_exclude_recipients filter added.
  • Dev - Code refactoring.

2.9.0 - 21/02/2024

  • Dev - Order Options - Require/Exclude order status - "WooCommerce Subscriptions" statuses added.
  • Dev - Shortcodes - [order_checkout_payment_url] shortcode added.
  • Dev - Send email - Now trying to get object ID with the get_id() method (e.g., for "WooCommerce Subscriptions" status update hooks).
  • Typos fixed in the plugin description section in readme.txt.
  • WC tested up to: 8.6.

2.8.1 - 15/02/2024

  • Dev - Shortcodes - [order_billing_email] shortcode added.
  • Dev - Shortcodes - [order_billing_phone] shortcode added.

2.8.0 - 29/01/2024

  • Dev - Order Options - "Require order status" option added.
  • Dev - Order Options - "Exclude order status" option added.
  • Dev - Debug - "Current filter" added to the "Triggered" log message.

2.7.3 - 11/01/2024

  • Dev - Advanced Options - "Stop emails" option added.

2.7.2 - 09/01/2024

  • Dev - Shortcodes - [order_billing_first_name] shortcode added.
  • Dev - Shortcodes - [order_billing_last_name] shortcode added.
  • Dev - Shortcodes - [order_customer_note] shortcode added.
  • Dev - Shortcodes - Developers - alg_wc_custom_emails_shortcode_prefix filter added.
  • Dev - Shortcodes - Code refactoring.
  • WC tested up to: 8.5.

2.7.1 - 21/12/2023

  • Dev - Email Data - "Email style" option added.
  • Dev - Code refactoring.

2.7.0 - 19/12/2023

  • Dev - General - "Scheduler" option added (defaults to "WP Cron").

2.6.3 - 18/12/2023

  • Readme.txt file error fixed.

2.6.2 - 18/12/2023

  • Readme.txt file updated.

2.6.1 - 14/12/2023

  • Dev - Shortcodes - [if] - case_insensitive attribute added.
  • Dev - Shortcodes - [if] - operator - find and not_find operators added.
  • WC tested up to: 8.4.

2.6.0 - 30/11/2023

  • Dev - Triggers - Extra - "Product published" and "Product updated" triggers added.
  • Dev - Shortcodes - [product_func] shortcode added.
  • Dev - Code refactoring.

2.5.0 - 22/11/2023

  • Dev - Order Options - "Require users" option added.
  • Dev - Order Options - "Exclude users" option added.
  • Dev - Order Options - "Require user roles" option added.
  • Dev - Order Options - "Exclude user roles" option added.
  • Dev - Code refactoring.

2.4.0 - 17/11/2023

  • Dev - General - Advanced Options - "Use actions for WC email template" option removed (now always using actions).
  • Dev - Email Data - "WC email template" option renamed to "Header & footer". Now the option is applied to "Plain text" emails as well.
  • Dev - Using overridable email templates now.
  • Dev - Code refactoring.
  • Dev - Developers - alg_wc_custom_emails_get_wc_email_template_part filter removed.
  • Tested up to: 6.4.
  • WC tested up to: 8.3.

2.3.0 - 03/11/2023

  • Fix - Admin Options - Admin actions - Orders > Bulk actions - HPOS compatibility (wc-orders page).
  • WC tested up to: 8.2.

2.2.9 - 25/09/2023

  • WC tested up to: 8.1.
  • Plugin icon, banner updated.

2.2.8 - 17/08/2023

  • Dev - Developers - alg_wc_custom_emails_is_enabled filter - $do_force_send parameter added.

2.2.7 - 16/08/2023

  • Fix - Declaring HPOS compatibility for the free plugin version, even if the Pro version is activated.
  • Dev - General - "Base dir" option added (defaults to "WP root directory"). Affects the "Email attachments" options.
  • Dev - Debug - Email attachments info added.

2.2.6 - 09/08/2023

  • Dev - Admin settings - Delay - Description updated.
  • Tested up to: 6.3.
  • WC tested up to: 8.0.

2.2.5 - 04/08/2023

  • Dev - Shortcodes - [user_prop] shortcode added.
  • Dev - Developers - alg_wc_custom_emails_is_user_email filter - current_filter() parameter added.

2.2.4 - 03/08/2023

  • Dev - Shortcodes - [order_item_meta] shortcode added.

2.2.3 - 18/07/2023

  • Dev - "High-Performance Order Storage (HPOS)" compatibility.
  • Dev - Developers - alg_wc_custom_emails_subject filter added.
  • Dev - Developers - alg_wc_custom_emails_content filter added.
  • WC tested up to: 7.9.

2.2.2 - 18/07/2023

  • Dev - Developers - alg_wc_custom_emails_do_send_order_email filter added.

2.2.1 - 28/06/2023

  • Dev - Shortcodes - [order_payment_method_id] shortcode added.

2.2.0 - 22/06/2023

  • Dev - Order Options - "Require payment gateways" option added.
  • Dev - Order Options - "Exclude payment gateways" option added.
  • Dev - Order Options - "Require shipping methods" option added.
  • Dev - Order Options - "Exclude shipping methods" option added.
  • Dev - General - Advanced Options - "Use actions for WC email template" option added (defaults to no).
  • Dev - Developers - alg_wc_custom_emails_get_wc_email_template_part filter added.

2.1.0 - 18/06/2023

  • Fix - Admin settings - "Shortcodes" link fixed in the "placeholder text".
  • Dev - General - "Enable plugin" option removed.
  • Dev - General - "Custom triggers" option added.
  • Dev - Shortcodes - [if] - operator - in and not_in operators added.
  • Dev - Shortcodes - [order_item_product_ids] shortcode added.
  • Dev - Shortcodes - [order_downloads] shortcode added.
  • Dev - Shortcodes - [order_user_data] shortcode added. E.g., [order_user_data key="user_nicename"].
  • Dev - Shortcodes - [order_user_id] shortcode added.
  • Dev - Developers - alg_wc_ce_send_email() function added.
  • Dev - Developers - alg_wc_custom_emails_check_order_products filter added.
  • Dev - Developers - alg_wc_custom_emails_check_order_product_terms filter added.
  • Dev - Code refactoring.
  • WC tested up to: 7.8.

2.0.0 - 09/05/2023

  • Dev - Code refactoring - Alg_WC_Custom_Email class.
  • WC tested up to: 7.6.

See changelog for all versions.