在WooCommerce中,有一套完整的邮件发送,主要功能就是在新订单、invioce订单、订单状态的变更、用户新注册等时候发送邮件给管理员或者是用户。
底层默认是WordPress的,可以使用WordPress的hook。
总的来说WooCommerce的发送邮件主要包括三个步骤:
1、加载所需函数。
2、定义订单状态变化时的邮件发送钩子。
3、需要发送邮件的地方使用钩子发送。
1、加载函数
最开始是由woocommerce/includes/class-woocommerce.php进行加载的:
include_once WC_ABSPATH . ‘includes/class-wc-emails.php’;
2、定义钩子
在WooCommerce中的woocommerce/includes/class-wc-emails.php,定义了WooCommerce的邮件处理函数,使用init函数加载了一些单独的发送函数。
构造函数__construct()通过钩子定义了部分内容,在单独的邮件模板中显示内容。
这些单独的发送函数中都定义了一个trigger函数,由这个trigger函数处理信息,包括发送给谁、标题、内容、格式、附件,最终这些信息通过send发出。
3、执行钩子
对于订单,在新订单时会使用,在后台操作订单时会使用。
1、后台操作订单选择相应的action时:
woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-actions.php
用户邮件、管理员邮件、重新生成下载权限邮件、其他情况。
2、订单保存时检测状态变化:
woocommerce/includes/class-wc-order.php
© 版权声明
THE END
暂无评论内容