WooCommerce中的邮件发送分析

在WooCommerce中,有一套完整的邮件发送,主要功能就是在新订单、invioce订单、订单状态的变更、用户新注册等时候发送邮件给管理员或者是用户。

底层默认是WordPress的,可以使用WordPress的hook。

图片[1]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客

总的来说WooCommerce的发送邮件主要包括三个步骤:
1、加载所需函数。

2、定义订单状态变化时的邮件发送钩子。

3、需要发送邮件的地方使用钩子发送。

1、加载函数

最开始是由woocommerce/includes/class-woocommerce.php进行加载的:

include_once WC_ABSPATH . ‘includes/class-wc-emails.php’;

图片[2]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客

2、定义钩子

在WooCommerce中的woocommerce/includes/class-wc-emails.php,定义了WooCommerce的邮件处理函数,使用init函数加载了一些单独的发送函数。

图片[3]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客

构造函数__construct()通过钩子定义了部分内容,在单独的邮件模板中显示内容。

图片[4]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客

这些单独的发送函数中都定义了一个trigger函数,由这个trigger函数处理信息,包括发送给谁、标题、内容、格式、附件,最终这些信息通过send发出。

3、执行钩子

对于订单,在新订单时会使用,在后台操作订单时会使用。

1、后台操作订单选择相应的action时:

woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-actions.php
图片[5]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客

用户邮件、管理员邮件、重新生成下载权限邮件、其他情况。

2、订单保存时检测状态变化:

woocommerce/includes/class-wc-order.php
图片[6]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客
图片[7]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客
© 版权声明
THE END
喜欢就支持一下吧
点赞10分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容