WooCommerce: Remaining Stock @ Order Emails

This is a neat customization, directly requested by a WooWeekly subscriber who needed to literally show the remaining stock quantity for each ordered item to store managers, in order to have an immediate idea of low/zero stock quantities after each order.

If that’s not clear, simply take a look at the screenshot. In my dev site, I ordered a product that originally had stock quantity = 1. In the “New Order” email (thanks to the snippet below), beside the order item quantity of 1, there is also a “(0 remaining)” notice that clearly displays the item’s current stock level.

Cool, ha? So, let’s see how that’s coded. Enjoy!

Continue reading WooCommerce: Remaining Stock @ Order Emails

WooCommerce: How to Generate Invoices For Free

Running an online store is no easy feat.

You have to take care of order management, inventory, customer relations, production, marketing, and so much more.

A simple business process like invoicing doesn’t seem like it will take too much of your time, but it often ends up doing so.

That is why your best bet is to automate invoice generation. That way, you can attend to the revenue-generating activities that will let you take your business to the next level.

If you run a WooCommerce store, you know it comes with many useful functionalities but not invoicing automation. But the good news is you can choose from many great invoicing plugins available to do the heavy lifting. 

We’ve done the legwork and prepared a list of free WooCommerce invoicing plugins you can use to put your invoice generation on auto-pilot.

Continue reading WooCommerce: How to Generate Invoices For Free

WooCommerce: How to Customize Email Templates Without Coding

On a daily basis, you probably use drag-and-drop in a variety of interfaces. For instance, drag and drop your Gmail items to its category, upload files to WordPress media library, or organize your phone home screen apps.

While many page builder platforms come in to help you design your website with drag-and-drop, building WooCommerce transactional emails is still considered as a complex task. 

By default, WooCommerce email settings only allow you to change basic color profiles and text. In order to customize further, you will have to modify the theme code. 

If you are a non-techie and don’t want to crack the code between the scripts in wp-content/plugins/woocommerce/templates/emails/email-styles.php or so, using a drag-and-drop email builder framework is the best solution.

Continue reading WooCommerce: How to Customize Email Templates Without Coding

WooCommerce: Attach File (PDF, etc.) To Emails

Sure, you can add content to a given WooCommerce transactional email such as the Customer Processing Order email. You can even edit the email subject, for example by adding the first name. No matter what you need, there are many cool snippets to customize default WooCommerce emails

But what we haven’t seen yet is how to “attach a file” to a default WooCommerce Order email. It seems like a very much needed admin option, but there is nothing to achieve that in the WooCommerce dashboard. And maybe that is because it’s super easy to do that with a few lines of PHP. So, enjoy!

Continue reading WooCommerce: Attach File (PDF, etc.) To Emails

WooCommerce: Show SKU @ Cart, Checkout, Order & Emails

When SKU matters to the end user, displaying it in the Cart page, Checkout page, Thank you page, My Account View Order page and Order Emails under the item name is a must.

Ideal for B2B businesses and international brands, this simple customization can help you learn how to add any sort of content under the Cart/Checkout/Order item names. Simply use the same hook and try “getting” something different than SKU with this guide. Enjoy!

Continue reading WooCommerce: Show SKU @ Cart, Checkout, Order & Emails

WooCommerce: Add To: Cc: Bcc: Email Recipients

The WooCommerce Email Settings allow you to add custom recipients only for New Order, Cancelled Order, Failed Order and all admin-only emails.

But what if you want to add an email recipient to a customer email e.g. the Completed Order one? For example, you need to send it to your dropshipper. Also, you might want to add a To: recipient, or instead a cleaner Cc: or safer Bcc:.

Either way, a simple snippet allows you to achieve that (and more, if you consider WooCommerce conditional logic). Enjoy!

Continue reading WooCommerce: Add To: Cc: Bcc: Email Recipients

WooCommerce: Hide “Thanks for shopping with us” @ Emails

WooCommerce emails come with the following hard-coded (argh!) greetings: ‘Thanks for shopping with us.‘, ‘Thanks for reading.‘, ‘We look forward to seeing you soon.‘, ‘We look forward to fulfilling your order soon.‘, ‘Thanks!‘, ‘We hope to see you again soon.‘ based on the specific email.

While having these greetings in the WooCommerce customer email footer may look nice and friendly, you should have the freedom to remove or edit them.

So, you have two choices: doing that via the email settings, or by “translating” those strings via PHP. Enjoy!

Continue reading WooCommerce: Hide “Thanks for shopping with us” @ Emails

WooCommerce: Send Email to Admin Every 3 Hours (Cron Job)

This snippet consists of many WooCommerce tasks: setting up a “WordPress Cron Job” (i.e. schedule a hook that runs on a specific time interval), getting the WooCommerce completed orders from the database, and finally sending a simple email to the store admin.

Complex, but as usual you can simply copy/paste and re-adapt it to your unique specifications. For example, I’m using it to send a survey email to each customer who has placed an order. There are thousands of applications, so this is just the start. Enjoy! Continue reading WooCommerce: Send Email to Admin Every 3 Hours (Cron Job)

WooCommerce: Send a Custom Email on Order Status Change

If you use custom WooCommerce order statuses, or wish to target an order status transition that is not default (e.g. when order goes from “Processing” to “Completed”, the Completed email triggers – but what if you want to target a transition from “Processing” to “Custom Status”?), sending custom emails is quite complex.

First of all, they won’t show under WooCommerce > Settings > Emails (unless you code it, true) – second, no email will trigger. So, how do they do it?

Continue reading WooCommerce: Send a Custom Email on Order Status Change

WooCommerce: Disable Customer Order Email for Free Orders

There are times when you sell free products to give customers access to a membership, an online course, or for other reasons. In this cases, you might not want to send them the “Order Completed” email, as the follow-up work is done by your email marketing software or they are automatically redirected to the resource upon checkout.

Of course, you definitely want to keep the “Order Completed” emails for orders that are not $0. Unfortunately, the method suggested by WooCommerce which “unhooks the emails” cannot be used together with a conditional check (in our case we need to verify if the Order total is $0), so a workaround is needed. Here’s the fix.

Continue reading WooCommerce: Disable Customer Order Email for Free Orders

WooCommerce: Remove Link to Product @ Order Table

There is a slightly annoying thing on the WooCommerce Thank-You Page and WooCommerce emails. Users looking at the order table can actually click on the Products they just purchased and abandon the page before taking the action you want them to take (see image below).

So, I coded a simple PHP snippet to remove such links. As usual, 1 line of code is more than sufficient:)

Continue reading WooCommerce: Remove Link to Product @ Order Table

WooCommerce Visual Hook Guide: Emails

WooCommerce Customizers: the Visual Hook Guide is back 🙂

Here’s a visual HTML hook guide for the WooCommerce Emails. This visual guide belongs to my “Visual Hook Guide Series“, that I’ve put together so that you can find WooCommerce hooks quickly and easily by seeing their actual locations.

Let me know in the comments if this resource it’s helpful and how! Enjoy 🙂

Continue reading WooCommerce Visual Hook Guide: Emails

WooCommerce: Add Payment Method to Order Emails

If you wish to print the payment gateway name on order emails (in its own paragraph below the order items table), here’s a handy snippet for you.

All you need to use is the “woocommerce_email_after_order_table” hook to pick the correct position, and then the “get_payment_method_title” WooCommerce function to return the payment gateway name. Enjoy!

Continue reading WooCommerce: Add Payment Method to Order Emails

WooCommerce: Add Content to a Specific Order Email

Customizing WooCommerce emails via the WordPress dashboard is not easy and – sometimes – not possible. For example, you can’t edit or add content to them unless you’re familiar with code.

Well, here’s a quick example to learn how to add content to any WooCommerce default order email. In this case study, our goal is showing an upsell to get buyers to go back to the website and buy with a coupon code. Enjoy!

Continue reading WooCommerce: Add Content to a Specific Order Email