WooCommerce

Yaymail WooCommerce邮件模板生成器,支持自定义模版

Yaymail是一个WooCommerce Email Page Builder,用现成的组件和拖拽的方式快速拼搭出一个邮件模板。它基于vue.js和shortcode方式工作,在众多的邮件定制插件中,它是我发先的唯一一个支持WooCommerce自定义邮件的插件,虽然你需要写一些代码来使它兼容你自己的模板。

这篇笔记是基于WooCommerce 创建自定义邮件

yaymail woocommerce solablog
Yaymail WooCommerce Email模板生成器

创建Yaymail Addon的思路

addon要以插件的形式存在,最简单的addon至少包含两个文件:

  • 插件主文件,用于注册你要支持的模板,定义自己模板中用到的shortcode等等.
  • 邮件的默认模板,由于yaymail的模板要覆盖掉邮件原本的模板,所以要有一个初始的样子,比如标题、文字、订单格式等内容。当用户使用reset功能重置模板时,就会使用这个默认的样子。

插件的结构如下所示:

📦yaymail-addon-custom-email
 ┣ 📂views
 ┃ ┗ 📂templateDefault
 ┃ ┃ ┗ 📜DefaultCustomEmail.php
 ┗ 📜yaymail-addon-custom-email.php

最终效果如下:

solagirl.net: yaymail woocommerce支持custom email

插件代码

插件主文件

yaymail-addon-custom-email.php是主文件,大体思路如下:

  1. 插件header,写插件必备
  2. namespace YayMailCustomEmail;生命php命名空间,不能省略。在定义function时名字里必须含有namespace,否则插件可能停止工作。
  3. spl_autoload_register()注册一个自动加载类的方法。
  4. 让你的addon插件在WordPress插件列表页显示一些额外信息,比如一个Start Customizing链接和文档链接。再添加一个admin notice,提示用户使用这个插件必须先安装yaymail。这些内容所有yaymail的扩展都一样,照搬即可。
  5. 通过action yaymail_before_enqueue_dependence加载用到的css和js文件,最简单的扩展用不着这些,所以我注释掉了。
  6. 通过filter yaymail_plugins注册你的自定义邮件。需要更改plugin_nametemplate_name
  7. 如果你的邮件有特殊功能,可以用shortcode实现,那么你需要:1)将shortcode名称添加到编辑器的shortcode列表里(yaymail_list_shortcodes);2)传递一些参数给shortcode(yaymail_shortcodes);3)定义shortcode的输出(yaymail_do_shortcode)。
  8. 如果你的shortcode输出比较复杂,用单独的function来编写输出。

默认模板文件

默认模板文件DefaultCustomEmail.php,起作用是定义一个邮件的初始状态,给用户一个起点。如果编辑的不满意想重置,也会用到这个文件的内容。

注意$emailHeading是从woocommerce的邮件管理页面获取的标题,但yaymail并不支持woocommerce的订单号placeholder,可能会造成订单号不显示,想避免可以填写yaymail的订单号shortcode。

留言

您的电子邮箱地址不会被公开。 必填项已用*标注