WooCommerce Email Template Designer
Preview WooCommerce's transactional emails with your logo and brand colors, then export the settings or an update_option() snippet.
Your details
Your snippet
<?php
/**
* Apply these WooCommerce email colors and logo once. The same values can be pasted directly
* into WooCommerce → Settings → Emails instead; this snippet is for version-controlled setups.
*/
add_action( 'admin_init', 'ea_set_woocommerce_email_style' );
function ea_set_woocommerce_email_style() {
if ( get_option( 'ea_email_style_applied' ) ) {
return;
}
update_option( 'woocommerce_email_base_color', '#7f54b3' );
update_option( 'woocommerce_email_background_color', '#f7f7f7' );
update_option( 'woocommerce_email_body_background_color', '#ffffff' );
update_option( 'woocommerce_email_text_color', '#3c3c3c' );
update_option( 'woocommerce_email_footer_text_color', '#999999' );
update_option( 'woocommerce_email_footer_text', '{site_title} — {site_address}' );
update_option( 'woocommerce_email_header_alignment', 'center' );
update_option( 'ea_email_style_applied', 'yes' );
}Simplest path: WooCommerce → Settings → Emails, and paste each hex value and the logo URL into its field directly. This snippet does the same thing in code, for a deploy pipeline or staging-to-live setup.
It only runs once (guarded by the ea_email_style_applied option), so it won't fight with changes you make later in Settings → Emails.
Colors and the logo only apply to the HTML version of each email. The plain-text alternative WooCommerce sends alongside it has no styling.
Live preview
What these settings actually control
Every WooCommerce transactional email (new order, processing, completed, invoices, and more) shares one layout and reads the same set of color and logo options under WooCommerce → Settings → Emails. This tool previews that shared layout live as you change values, then gives you the exact option values to paste there.
| Setting | Option name | Controls |
|---|---|---|
| Accent color | woocommerce_email_base_color | Header bar and links |
| Email background | woocommerce_email_background_color | The area outside the email's content card |
| Content background | woocommerce_email_body_background_color | The card the email content sits in |
| Text color | woocommerce_email_text_color | Body text |
| Footer text color | woocommerce_email_footer_text_color | The small print at the bottom |
| Footer text | woocommerce_email_footer_text | Accepts {site_title} and {site_address} |
| Header image | woocommerce_email_header_image | Your logo URL |
Applying it
- 01
Design it here
Adjust the colors and logo until the preview matches your brand.
- 02
Paste the values in, or use the snippet
The simplest path is WooCommerce → Settings → Emails, pasting each hex value and logo URL into its field. The generated snippet does the same thing in code, useful if you manage settings through version control or a staging-to-live deploy.
- 03
Send yourself a real test email
WooCommerce → Settings → Emails → pick an email → “Preview” (or trigger a real one, like placing a $0 test order) to see it rendered by an actual email client, since previews in a browser don't always match Gmail or Outlook exactly.
The generated snippet only sets the options once (it checks a flag so it won't overwrite changes you make later in Settings → Emails). If you want it to always enforce these values, remove that guard, but then the Settings page fields will stop reflecting real, editable values.
Questions people ask
Does this change the order details table, or just the colors around it?
Just the shared layout: header, background, text color and footer. The order table, line items and totals are built separately by each email and aren't restyled by this tool.
Will my logo show correctly in Outlook?
Use a hosted PNG or JPG under about 600px wide; Outlook's rendering engine doesn't support SVG or very large images well in emails. Keep the file under roughly 100KB so it loads reliably.
Can I preview a specific email, like the invoice, with real content?
This tool previews the shared header/footer/color layout with sample content. For the exact content of one email (its subject, heading and order table), use WooCommerce → Settings → Emails → that email → Preview.
Do these settings apply to plain-text emails too?
No, colors and the logo only apply to the HTML version. WooCommerce sends a plain-text alternative automatically for email clients that prefer it, with no styling.
Related tools
Last reviewed 30 September 2026.
Sources: WooCommerce source: class-wc-settings-emails.php · WooCommerce source: class-wc-email.php · WooCommerce Docs: Email HTML best practices
