作者:话说的爱 | 来源:互联网 | 2023-09-04 09:23
我正在寻找一种使用自定义WooCommerce模板发送所有WordPress电子邮件的方法,以便所有电子邮件看起来都一样。
模板的路径为:
woocommerce/emails/my-custom-woocommerce-template.php
是否都可以在一个文件中进行模板化?如果没有,这些入口点的组合可能会为您提供所需的标准化:
-
可让您自定义电子邮件的开头,包括标题图像(如果您需要做的不仅仅是更改其URL)。它将打开其余电子邮件内容的布局标签
-
email-header.php
可让您自定义页脚,并关闭从页眉开始的布局标签。
-
email-footer.php
或email-styles.php
过滤器可让您自定义CSS(请参阅我的文章here中的一些陷阱)。
- 各种操作/过滤器分散在整个电子邮件中,用于自定义各个部分。
,
您可以使用以下功能。它正在工作
function myplugin_woocommerce_locate_template( $template,$template_name,$template_path ) {
global $woocommerce;
// List of all templates that should be replaced with custom template
$woo_templates = array(
'emails/admin-new-order.php','emails/admin-failed-order.php','emails/admin-cancelled-order.php','emails/customer-completed-order.php','emails/customer-new-account.php','emails/customer-note.php','emails/customer-on-hold-order.php','emails/customer-processing-order.php','emails/customer-refunded-order.php','emails/customer-reset-password.php',);
//Check whether template is in replacable template array
if( in_array( $template_name,$woo_templates ) ){
// Set your custom template path
$template = your_template_path.'emails/my-custom-woocommerce-template';
}
// Return what we found
return $template;
}
add_filter( 'woocommerce_locate_template','myplugin_woocommerce_locate_template',10,3 );
,
add_filter( 'wp_mail','your_wp_mail_action' ); // $args = compact( 'to','subject','message','headers','attachments' )
function your_wp_mail_action( $args ) {
global $your_prefix_your_email_args; // the args you could use in my-custom-woocommerce-template file
$your_prefix_your_email_args = $args;
ob_clean();
get_template_part( 'woocommerce/emails/my-custom-woocommerce-template' );
$args['message'] = ob_get_clean();
// ... your logic
return $args;
}
,
要查看和更新电子邮件设置,请登录到您的网站仪表板。在左侧菜单中,单击WooCommerce→设置。
在那里,您会在顶部找到几个选项标签。点击电子邮件以查看以下模板
您可以根据需要自定义所有内容