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

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

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

woocommerce/includes/class-wc-order.php
woocommerce/includes/class-wc-order.php
woocommerce/includes/class-wc-order.php
图片[6]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客
图片[7]-WooCommerce中的邮件发送分析 - KEKC博客-KEKC博客
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
Don't give up just because of what people said. Use that as your motivation to push harder.
别因为别人说的话而放弃,把那些话当做加倍努力的动力
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

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

    暂无评论内容