WooCommerce: Show or Hide Bank Accounts Based On Order

When WooCommerce “manual bank transfer” payment gateway is enabled and you add more than one bank account, WooCommerce outputs every bank account everywhere: on the thank you page, and in the order confirmation emails. That’s fine for simple setups, but not ideal if your store needs to show different bank details depending on the order properties.

On the Checkout Summit website, for example, I use a EUR/USD currency switcher powered by WooPayments so attendees can purchase tickets and sponsorships in their preferred currency. I also have Bank Transfer (“BACS”) enabled as a secondary payment method, and I’ve added two bank accounts in the settings: one for EUR and one for USD.

This creates a practical requirement: customers checking out in EUR should only see the EUR bank account, while those paying in USD should only see the USD bank account. Displaying both would be confusing and unprofessional.

To fix this, I worked on a small snippet that conditionally filters the BACS instructions. It checks the order currency (or any other property) and only returns the matching bank account.

Continue reading WooCommerce: Show or Hide Bank Accounts Based On Order

WooCommerce: Add Optional Checkout Email CC: Field

marker, checkbox, red, checkbox, checkbox, checkbox, checkbox, checkbox

In a recent Business Bloomer Club Slack thread, a member asked how to let customers optionally enter a second email address at checkout—specifically if they want WooCommerce emails sent to someone else too.

Their goal was to display a checkbox labeled “Send to another email address,” and, if checked, reveal an additional email field. Any email entered here should be CCed on all WooCommerce order emails.

This is a common request for B2B stores or for people who manage orders on behalf of others, such as virtual assistants, procurement officers, or accounting teams. The good news? This can be achieved without installing yet another plugin.

In this post, we’ll show you how to add a custom checkbox and email field at checkout, use JavaScript to conditionally show the field, save the additional email in the order meta and CC that email on all WooCommerce transactional emails.

Let’s get it done with a few clean snippets.

Continue reading WooCommerce: Add Optional Checkout Email CC: Field

WooCommerce “Cha-Ching!” In Order Emails

cash, checkout, money, cashier, register, cash register, shopping, retro, brown money, brown shopping, brown shop, checkout, checkout, checkout, checkout, checkout, cashier, register, cash register

In a recent Business Bloomer Club Slack thread, the conversation turned humorous — but also insightful — thanks to one little change in WooCommerce 9.9. If you or your clients suddenly see “Cha-ching!” in new order email subjects, it’s not a mistake. It’s a feature.

Starting from version 9.9, WooCommerce introduces a small but loud addition: the default subject line of new order emails now says:

[{site_title}]: Cha-ching! You’ve got a new order: #{order_number}

This only happens if the new “Email Improvements” setting is enabled — part of the ongoing efforts to modernize the WooCommerce email system.

Continue reading WooCommerce “Cha-Ching!” In Order Emails

WooCommerce: “Beautify” Item Meta in Order Emails

Since the latest WooCommerce releases, the transactional emails have received a fresh update thanks to the “Enable modern email design for transactional emails” option—also called email_improvements_enabled—which you can activate under Advanced > Features settings.

This new email layout offers a cleaner and more modern look, improving the overall customer experience. However, one side effect is that the order item meta information in emails can sometimes appear cluttered or less readable. To help you fix this, today we’re sharing a straightforward code snippet that will beautify the order item meta displayed in WooCommerce transactional emails.

This tweak improves how extra product details are shown, making them clearer and more appealing for your customers. Let’s get right to the snippet and enhance your WooCommerce emails!

Continue reading WooCommerce: “Beautify” Item Meta in Order Emails

Choosing an SMTP Relay Service for WooCommerce: Exploring Alternatives to SendGrid

In a recent Business Bloomer Club discussion, WooCommerce enthusiasts explored SMTP relay options for sending WordPress transactional emails. Many site owners use these services to ensure reliable email delivery, especially for critical WooCommerce notifications like order confirmations.

While SendGrid is a popular choice, its free plan caps daily emails at 100, which can be limiting for growing stores. This discussion dives into the alternatives to SendGrid, highlighting options with more generous limits and unique features for WooCommerce and WordPress users.

Transactional emails, such as order confirmations, password resets, and shipping notifications, play a vital role in online store operations. However, default WordPress email handling can be unreliable, with messages often ending up in spam or not delivered at all. SMTP relay services solve this problem by routing emails through dedicated servers designed for higher deliverability, ensuring these critical communications reach customers’ inboxes.

Continue reading Choosing an SMTP Relay Service for WooCommerce: Exploring Alternatives to SendGrid

WooCommerce: Display Only Main Product Name in Order Confirmation Emails

In a recent Business Bloomer Club discussion, a member sought advice on simplifying WooCommerce order confirmation emails by displaying only the main product name, without any variation details.

WooCommerce typically includes both the product name and chosen variation attributes in order emails, which can sometimes be overwhelming and cluttered for customers.

To achieve a cleaner look, two WooCommerce filters can be applied to exclude these variation attributes.

Here’s the snippet that enables this adjustment.

Continue reading WooCommerce: Display Only Main Product Name in Order Confirmation Emails

Preventing Mass Email Sending After Order Status Deletion in WooCommerce

In a recent Business Bloomer Club discussion, a member sought advice on handling a sudden flood of 25,000 triggered emails after a client accidentally deleted a custom order status in WooCommerce.

This error caused orders to transition to default statuses, triggering an email for each one. Concerned about reconnecting the SMTP server and potentially sending all the emails, they were looking for ways to pause or prevent further email distribution.

Here’s a step-by-step guide to managing and preventing mass email sending after such incidents.

Continue reading Preventing Mass Email Sending After Order Status Deletion in WooCommerce

How to Customize WooCommerce Order Emails Based on Product Attributes

In a recent Business Bloomer Club Slack thread, a WooCommerce user wanted to customize order confirmation emails to display specific text based on whether an order was for pickup or delivery.

These options were set as product attributes, and the customization needed to change the “Thanks for shopping with us” message that appears after the Billing and Shipping details.

Here’s how to achieve this using WooCommerce filters to dynamically tailor the message in completed order emails.

Continue reading How to Customize WooCommerce Order Emails Based on Product Attributes

Adjusting WooCommerce Order Emails to Reflect Updated Order Data

In a recent Business Bloomer Club Slack thread, a developer working with the woocommerce_payment_complete hook encountered an issue where the “Processing order” email was sent with outdated order data.

While the order edits were correctly saved before external processing, WooCommerce sent the email using pre-edited data.

Here’s how to ensure that customers receive emails with accurate order details by customizing email triggers.

Continue reading Adjusting WooCommerce Order Emails to Reflect Updated Order Data

WooCommerce: Notify Admin For Product Reviews But Not For WordPress Comments

WooCommerce product reviews are, actually, WordPress comments.

When you install WordPress, comment notifications for admins are turned on. You can choose to receive emails for all new comments, or only for comments that require moderation (haven’t been approved yet).

The problem is that if your site gets a lot of spam comments, you might be bombarded with emails. Even with legitimate comments, constant notifications can be overwhelming.

So what if we disable WordPress comment notifications all together, while we keep them enabled for WooCommerce product reviews only?

This is what we’ll code today – enjoy!

Continue reading WooCommerce: Notify Admin For Product Reviews But Not For WordPress Comments

WooCommerce: Add Content To “New Account” Welcome Email

First impressions matter, especially in ecommerce. When a customer creates an account on your WooCommerce store, the “Your {site_title} account has been created!” welcome email is your golden opportunity to solidify a positive connection.

However, the standard WooCommerce email might fall short:

Hi Rodolfo,

Thanks for creating an account on {site_title}. Your username is ____. You can access your account area to view orders, change your password, and more at: ___

Click here to set your new password.

This tutorial teaches you how to display additional content in the “welcome” email. You can then personalize greetings, showcase your brand story, and strategically introduce features like exclusive offers or product recommendations. By tailoring these emails, you’ll not only provide valuable information but also nurture customer loyalty and encourage them to explore your offerings further.

Enjoy!

Continue reading WooCommerce: Add Content To “New Account” Welcome Email

WooCommerce: Send Default Order Email For Custom Status Transition

WooCommerce offers flexibility with custom order statuses, but email notifications can be limited. By default, in fact, WooCommerce triggers the “completed”, “processing”, “on-hold” and all the other default emails when the order status changes from X to Y as defined in the plugin code.

But what if you want to trigger the “Order Completed” email if the order status transitions from your custom order status to the “completed” one? Or what if you want to trigger the “Order On-hold” email beyond its default triggers?

This post unlocks a powerful technique: triggering a default order email for a custom order transition. Let’s see how it’s done!

Continue reading WooCommerce: Send Default Order Email For Custom Status Transition

WooCommerce: Send Cancelled Order Email to Customers As Well

As per the WooCommerce settings, “Cancelled order emails are sent to chosen recipient(s) when orders have been marked cancelled (if they were previously processing or on-hold)“.

What’s not 100% clear, however, is that this email notification goes out to admins only (and additional email addresses, if entered in the email settings). Which means, the customer receives no cancelled order notification. So, let’s change this, and let’s add the customer email address to the list of people that receives this WooCommerce email.

Continue reading WooCommerce: Send Cancelled Order Email to Customers As Well

WooCommerce: Send Pending Order Email Automatically

The “Customer invoice / Order details” WooCommerce email notification is often used for manually sending payment requests to customers – it’s not automatically triggered like other WooCommerce emails. You can access it from the individual order screen under the “Order Actions” section.

In certain cases, however, you’d want to make it automatic. And I don’t know why it’s not like that by default. So, let’s fix it: if you create a manual order from the backend, set it as pending, add some products to it and “Save”, the email notification will trigger on its own thanks to the snippet below. Enjoy!

Continue reading WooCommerce: Send Pending Order Email Automatically