如何在 WooCommerce 中自定义订单电子邮件

已发表: 2019-04-02
自定义 woocommerce 订单电子邮件
关注@Cloudways

假设经过几天的努力,您成功地在专门的 WooCommerce 网络托管平台上设置了您的商店

产品页面现在连接到一个完美运行的数据库,结帐过程完全没有问题。 包括产品页面、图库和反馈在内的每一个元素都反映了您品牌的颜色和风格。

然后,您决定测试您的产品订购流程,突然发现从用户的角度来看,订购电子邮件相当乏味或过于笼统。 现在您一定想知道您为自定义 WooCommerce 商店所做的所有辛勤工作都是徒劳的。

WooCommerce 包含几种可能与您商店的流程不匹配的订单状态,但您仍然可以将订单标记为自定义状态,例如付款待处理、处理中、搁置、失败等。

许多 WooCommerce 商店所有者和管理员都有这个常见查询:如何修改默认 WooCommerce 请求消息以具有我的品牌的外观和感觉,如何添加其他内容以帮助客户完成订单以及如何创建自定义 WooCommerce 订单状态.

虽然制作令人印象深刻的 HTML 电子邮件本身确实是一项成就,但 WooCommerce 提供了多种选择,即使是业余爱好者也可以创建一些令人惊叹的电子邮件。

客户电子邮件

“Vanilla”提供 WooCommerce 电子邮件通知,这些电子邮件通知会发送给客户,以响应他们与商店的互动。 以下是您的 WooCommerce 商店客户最重要的电子邮件。

  • 新订单:收到新订单时会发送新订单电子邮件。
  • 已取消订单:当订单被标记为已取消时,将发送已取消的订单电子邮件。
  • 失败的订单:当处理中或搁置的订单被标记为失败时,会发送失败的订单电子邮件。
  • 订单暂停:这是发送给客户的订单通知。 它包含订单被搁置后的订单详细信息。
  • 处理订单:这是发送给客户的订单通知。 它包含付款后的订单详细信息。
  • 已完成订单:当客户的订单标记为已完成时,将向客户发送订单完成电子邮件。 这些电子邮件通常表明订单已发货。
  • 退款订单:当客户的订单被标记为已退款时,将向客户发送已退款订单的电子邮件。
  • 客户发票:客户发票电子邮件包含订单信息和付款链接。
  • 客户备注:当您向订单添加备注时,会发送客户备注电子邮件。
  • 重置密码:客户重置密码时会发送客户“重置密码”电子邮件。
  • 新帐户:当客户通过结帐或帐户注册页面注册时,将向客户发送客户“新帐户”电子邮件。

除了这些标准电子邮件类型之外,您还可以添加自定义电子邮件。

托管 WooCommerce 托管 每月 10 美元起。

完全自由地创建、管理和自定义您的 WooCommerce 商店。

免费试用 3 天

WooCommerce 全球电子邮件选项

标准的 WooCommerce 电子邮件如下所示:

WooCommerce 管理员允许对此默认电子邮件布局进行一些基本自定义。 登录 WordPress 管理员并转到WooCommerce > 设置 > 电子邮件 > 电子邮件发件人选项后,可以访问这些选项。 这些选项包括:

  • 设置发件人姓名/地址(对客户可见)
  • WooCommerce 电子邮件标题图像大小
  • 更改电子邮件页脚文本
  • 选择不同的基础、背景和正文颜色

WooCommerce 电子邮件选项

WooCommerce 电子邮件选项

请记住,这些选择适用于所有电子邮件。 只需几分钟,您就可以通过更改 WooCommerce 电子邮件标题图像大小、自定义页脚文本和另一种基色来创建高度自定义的电子邮件。

电子邮件模板

您可能已经注意到 WooCommerce 确定使用了明亮的基色。 作为补偿,它为标题使用了合适的阴影。 不幸的是,此逻辑并未应用于页脚的内容。 这个事故可以很容易地手动修复!

WooCommerce 电子邮件特定选项

每种电子邮件类型都有自己的一组自定义选项。 可以通过WooCommerce > 设置 > 电子邮件 > 处理订单访问这些选项(此示例路径侧重于处理订单电子邮件。您可以更改电子邮件的多个方面,包括:

  • 启用或禁用是否发送电子邮件
  • 电子邮件的主题
  • 电子邮件标题(默认为“感谢您的订单”)
  • 电子邮件是作为 HTML 还是纯文本发送(默认选项是 HTML)

处理订单

在这里,我将自定义电子邮件标题设置为“感谢您的订单”。

处理订单

覆盖自定义电子邮件 WooCommerce 模板

更有效和高效的方法是修改默认电子邮件布局。 WooCommerce 提供了一个有用的模板系统,允许您通过将格式文件复制到主题中来自定义商店或电子邮件的部分内容。 每个电子邮件类型都有其内容的模板文件(例如,woocommerce/templates/emails/customer-process-order.php)。 此外,还有所有电子邮件类型都可以访问和使用的共享模板。 这些可以在woocommerce/templates/emails/email-styles.php 中找到。 在许多情况下,这是开发人员覆盖以更改电子邮件的共享方面的模板。 前面提到的处理页脚问题的过程是:

  1. 首先,确保 WordPress 安装中存在以下目录: wp-content/themes/ 接下来,将wp-content/plugins/woocommerce/templates/emails/email-styles.php中的文件复制到商店的主题中: 最后,编辑your-theme /woocommerce/emails/email-styles.php以将页脚文本颜色更改为黑色(为简洁起见,仅显示模板文件代码的相关部分):
 $信用=“
颜色:#66bae3;
字体大小:15px;
文本对齐:居中;
";

这会生成一个更具可读性的页脚:

image05

使用操作/过滤器进行条件自定义

自定义电子邮件的最后也是最有效的方法是使用 WooCommerce 自定义代码。 这显然需要高水平的 PHP 专业知识。 好消息是这个过程很简单,因为原始的 WooCommerce 布局仍在使用中。 该过程涉及更改部分内容。

过滤器功能

  • has_filter()
  • 添加过滤器()
  • 应用过滤器()
  • apply_filters_ref_array()
  • current_filter()
  • 删除过滤器()
  • remove_all_filters()
  • 做过滤器()

动作函数

  • has_action()
  • add_action()
  • 做动作()
  • do_action_ref_array()
  • did_action()
  • 删除动作()
  • remove_all_actions()
  • 做动作()

激活/停用/卸载功能

  • register_activation_hook()
  • register_uninstall_hook()
  • register_deactivation_hook()

对于此示例,我将根据使用的结帐付款类型在电子邮件中添加一些有用的付款说明。

首先,将以下内容添加到主题的functions.php :

 add_action('woocommerce_before_email_order', 'add_order_instruction_email', 10, 2);
 
功能 add_order_instruction_email( $order, $sent_to_admin ) {
  
  如果(!$sent_to_admin){
 
    if ('cod' == $order->payment_method) {
      // 货到付款方式
      echo '<p><strong>说明:</strong>在交货后立即全额付款:<em>只收现金,没有例外</em>。</p>';
    } 别的 {
      // 其他方法(即信用卡)
      echo '<p><strong>说明:</strong>请在您的下一张信用卡账单上查找“Madrigal Electromotive GmbH”。</p>';
    }
  }
}

如果客户在结账时选择“货到付款”,客户将收到包含有用订单说明的电子邮件:

WooCommerce 结帐设置

插件/支付网关选项

几个插件和支付网关实际上允许您自定义部分订单电子邮件。 例如,内置的银行/电汇支付方式允许您配置指令和插入电汇信息。 这可以通过WooCommerce > Settings > Checkout > BACS轻松完成。

WooCommerce 结帐设置

虽然不常见,但很高兴知道这些选项可用。 此信息还可以帮助您为商店选择特定插件。

WooCommerce 电子邮件 add_actions 钩子

在处理 WooCommerce 电子邮件时,add_actions 挂钩通常会派上用场。 使用此钩子时,您将需要使用一个全局变量 email 将包含电子邮件主题。 这是代码片段:

 add_action('woocommerce_email_header','woocommerce_emails_before_header',1,3);
功能 woocommerce_emails_before_header($email_heading, $email){
    $GLOBALS['email'] = $email;
}

上面的钩子可以放在functions.php(位于您的主题文件夹中)或WooCommerce电子邮件模板的开头。 全局变量 $email 调用主 WooCommerce 电子邮件对象,而 $order 包含全局 WooCommerce 订单对象的实例

全球$电子邮件; 
$order = $email->对象;

每个产品的 WooCommerce 自定义电子邮件

以下代码为不同的产品发送自定义订单电子邮件模板

例如,对于产品 ID 87 ,您希望显示标题标题 WooCommerce 电子邮件通知或如何测试 WooCommerce 电子邮件:

 功能 woocommerce_custom_email_per_product_depending_on_product_id( $email_heading, $order ) {
    全球$woocommerce;
    $items = $order->get_items();
    foreach ( $item 作为 $item ) {
        $product_id = $item['product_id'];
        如果($product_id == 87){
            $email_heading = 'WooCommerce 电子邮件通知或如何测试 WooCommerce 电子邮件';
        }
        返回 $email_heading;
    }
}
add_filter('woocommerce_email_heading_customer_processing_order', 'woocommerce_custom_email_per_product_depending_on_product_id', 10, 5);

注意:既然您已经了解了自定义 WooCommerce 订单电子邮件的整个过程,您现在可以选择保留该功能或为 WooCommerce 电子邮件确认和通知创建单独的 WooCommerce 电子邮件插件。

结论

设置 WooCommerce 商店非常简单,但自定义默认电子邮件模板有时会变得很棘手。 在本教程中,我讨论了如何发送完全自定义的 WooCommerce 托管商店电子邮件以适应商店活动的各个方面。 我还强调了可以更改默认电子邮件模板以在电子邮件中插入特定于商店和特定于订单的信息以提供更好的用户体验的方式。

如果您想添加到讨论中或提出问题,请在下面发表评论!