WooCommerce Emails: How to Turn Off the Defaults (The Easy Guide for Beginners)
WooCommerce is a powerhouse for building online stores, but sometimes its default settings can be… overwhelming. One area that often trips up new users is the email system. You might be setting up a fancy, branded email flow using a plugin like Klaviyo or Mailchimp and find that WooCommerce is *still* sending its generic emails, creating duplicate messages and confusing your customers.
Fear not! This guide will walk you through how to disable WooCommerce’s default emails and take full control of your customer communication. We’ll keep it simple, with real-life examples and clear explanations, even if you’re new to WordPress and WooCommerce.
Why Would You Want to Disable WooCommerce Default Emails?
Before we dive into *how*, let’s quickly understand *why* you might want to do this.
* Duplicate Emails: This is the most common reason. If you’re using a marketing automation plugin that sends order confirmations, new account emails, etc., you don’t want WooCommerce sending the same information. It’s annoying for customers! Imagine receiving two identical order confirmations – it makes your store look unprofessional.
* Branding Consistency: WooCommerce’s default emails are quite basic. They lack your brand’s personality, logo, and design. You’re likely using a plugin to create beautiful, branded emails that align with your store’s overall aesthetic. Continuing to send the default emails undermines your branding efforts.
* Advanced Customization: You might need very specific email flows that the default WooCommerce emails simply can’t handle. For example, you may want to segment customers based on purchase history and send tailored messages, which is beyond the capabilities of the default settings.
* Prevent Confusion: Consider a customer who creates an account. They get the generic WooCommerce “New Account” email and then *also* receive a personalized welcome email from your marketing automation system. Which one do they focus on? The duplicate information can be confusing and dilute your message.
Methods for Disabling WooCommerce Default Emails
Here are a few methods to disable those default emails, ranging from simple to slightly more technical. Choose the method that best suits your comfort level and needs.
#### 1. Using the WooCommerce Email Settings (Limited Control)
WooCommerce offers some basic control over email notifications within its settings. However, this *doesn’t* disable *all* emails, just the notifications sent to you as the store administrator.
Here’s how to find the settings:
1. Go to WooCommerce > Settings.
2. Click on the Emails tab.
You’ll see a list of email types (New Order, Cancelled Order, Failed Order, etc.). Click on the email you want to adjust.
* “Enable/Disable” Option: You can *disable* the email notification sent to the administrator by unchecking the “Enable this email notification” box. This does NOT affect the emails sent to customers. This is usually not what people want!
* Customization Options: You can change the email subject, heading, and additional content, but the overall structure and design remain the same.
Important Note: This method only controls *admin notifications*. It *will not* stop WooCommerce from sending emails to your customers. This is only for notifications YOU receive about what’s happening on your store (orders, cancellations, etc.)
#### 2. Using a Plugin (Recommended for Beginners)
This is often the easiest and safest method, especially if you’re not comfortable editing code. Several plugins can help you manage and disable WooCommerce emails. Here are a couple of popular options:
* Disable Emails: A very straightforward plugin that lets you disable specific WooCommerce email types with a single click. Search for “Disable Emails” in the WordPress plugin repository.
* Email Control: Another simple plugin that allows you to easily turn on/off the emails that WooCommerce sends. Search for “Email Control” in the WordPress plugin repository.
The process is generally the same for most of these plugins:
1. Install and activate the plugin.
2. Go to the plugin’s settings page (usually under WooCommerce or Settings).
3. You’ll see a list of WooCommerce email types (e.g., New Order, Processing Order, Completed Order, etc.).
4. Simply uncheck the boxes next to the email types you want to disable.
5. Save your changes.
Example: You’re using Klaviyo to handle all order-related emails. You install “Disable Emails” plugin. You then go to the plugin settings and disable the “New Order,” “Processing Order,” and “Completed Order” emails. Now, only Klaviyo will send these emails, ensuring consistency.
#### 3. Using Code (For Advanced Users – Use With Caution!)
This method involves adding code to your `functions.php` file or a custom plugin. This is NOT recommended if you’re not comfortable with PHP code. Incorrect code can break your website. Always back up your website before making code changes!
Here’s how you can disable specific WooCommerce emails using code:
/**
- Disable specific WooCommerce emails.
- * @param array $email_classes Array of email classes.
- @return array
return $email_classes;
}
add_filter( ‘woocommerce_email_classes’, ‘filter_woocommerce_email_classes’ );
Explanation:
* `filter_woocommerce_email_classes`: This is a WordPress filter that allows you to modify the array of email classes registered by WooCommerce.
* `unset()`: This function removes specific email classes from the array. For example, `unset( $email_classes[‘WC_Email_New_Order’] );` removes the “New Order” email class, effectively disabling it.
* `add_filter()`: This function hooks your custom function (`filter_woocommerce_email_classes`) into the `woocommerce_email_classes` filter.
How to use:
1. Backup your website! This is crucial.
2. Open your theme’s `functions.php` file or create a custom plugin.
3. Copy and paste the code above into the file.
4. Carefully edit the `unset()` lines to remove the email types you want to disable. *Only* remove the lines for the emails you want to disable! If you remove the wrong line, other things could break.
5. Save the file and test your website.
Important Considerations:
* `functions.php` risks: If your theme updates, your `functions.php` changes might be overwritten. Creating a custom plugin is a more robust solution.
* Updating WooCommerce: Ensure the email class names in the code are still accurate after WooCommerce updates. Check the WooCommerce documentation if you’re unsure.
#### 4. Using a Snippets Plugin (A Safer Code Alternative)
A happy medium between directly editing code and using a dedicated plugin is using a “snippets” plugin. These plugins allow you to add and manage small snippets of code without directly modifying your `functions.php` file. This provides a layer of safety and organization.
Popular snippets plugins include:
* Code Snippets
* WPCode – Insert Headers and Footers + Custom Code Snippets
The process is similar to using the code method above:
1. Install and activate a snippets plugin.
2. Add a new snippet.
3. Copy and paste the code from the “Using Code” section into the snippet editor.
4. Carefully edit the `unset()` lines to remove the email types you want to disable.
5. Save and activate the snippet.
This is often preferred over directly editing `functions.php` because snippets are generally update-proof (they won’t be overwritten when your theme updates).
Testing Your Changes
After disabling WooCommerce emails using any of the methods above, thoroughly test your website!
1. Place a test order: Ensure you (and your customer) *don’t* receive the disabled WooCommerce emails. Check that your marketing automation system is sending the correct emails.
2. Create a new account: Verify that the default “New Account” email is disabled and that your welcome email is being sent correctly.
3. Reset your password: Test the password reset process to confirm that the default email is disabled and your custom email is being sent (if you have one set up).
By taking the time to test, you can ensure that your email flow is working correctly and that your customers are receiving the right messages at the right time.
Conclusion
Disabling WooCommerce’s default emails is a crucial step in creating a professional and consistent brand experience. By following the methods outlined in this guide, you can take control of your customer communication and ensure that only your branded, customized emails are being sent. Whether you choose a simple plugin, a snippets plugin, or dive into code, remember to back up your website and thoroughly test your changes! Good luck!