What I am trying to do
我正在向WooCommerce电子邮件模板添加一个自定义字段,但我试图使自定义字段仅出现在一个自定义电子邮件模板中,而不是所有模板中,但我正在努力实现这一点。该模板称为:
customer-completed-order.php
What I have so far
使用我的子主题,我已将模板从原始WooCommerce文件夹复制到
soulmedic-child/woocommerce/emails/customer-completed-order.php
我已使用中的以下代码成功地将自定义字段显示在所有原始电子邮件模板中functions.php
:
add_filter( \'woocommerce_email_order_meta_keys\', \'my_custom_checkout_field_order_meta_keys\');
function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = \'Postage Tracking Number\';
return $keys;
}
我已经检查了可用的挂钩,并尝试将以下内容添加到过滤器列表中,但是,这不起作用:
woocommerce_email_heading_customer_completed_order
我已经搜索了大量其他帖子,但没有找到其他人能够做到这一点。
我试图直接向电子邮件模板添加代码,但我已经在中指定了自定义字段functions.php
它仍然会将该字段添加到所有电子邮件模板中。我试着只把代码放在电子邮件模板中,但这破坏了模板。
有人能告诉我需要做什么才能让自定义字段中的信息只显示在该特定模板上,而不显示在其他地方吗?
最合适的回答,由SO网友:Ultra_charge 整理而成
我发现我创建的原始方法实际上可以满足我的需要,原因是我想在电子邮件中显示的自定义字段实际上只有在字段已填充数据时才会出现,如果字段为空,则不会包含在任何其他电子邮件模板中。
由于我们只是在发送了其他订单电子邮件之后才使用数据填充自定义字段,因此我不需要再添加任何过滤器。