wordpress - Woocommerce 新订单附加电子邮件收件人添加到订单元
问题描述
我正在尝试向客户订单确认电子邮件添加其他收件人。
我已成功将其他收件人电子邮件地址的元值添加到订单中,并已连接到一些电子邮件,但是,我发现很难找到确认电子邮件的钩子。
我的代码:
add_filter('woocommerce_email_recipient_customer_processing_order', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_completed_order', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_invoice', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_invoice_paid', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_note', 'ddl_additional_email_checkout', 10, 2);
function ddl_additional_email_checkout($emails, $object){
$additional_email = get_post_meta($object->id, 'additional_recipient', true);
if( $additional_email ){
$emails .= ',' . $additional_email;
}
return $emails;
}
理想情况下,我会加入类似的东西,woocommerce_email_recipient_customer_new_order
但这似乎不是一个选择。
非常感谢。
解决方案
链接到https://stackoverflow.com/a/61459068/11987538的第一条评论为我解决了这个问题,本质上它只是找到正确的$email_id
这段代码也很有帮助,因为它将在电子邮件中显示 ID。
add_action( 'woocommerce_email_order_details', 'add_custom_text_to_new_order_email', 10, 4 );
function add_custom_text_to_new_order_email( $order, $sent_to_admin, $plain_text, $email ) {
// Only for "New Order" email notifications (to be replaced by yours)
if( ! ( 'new_order' == $email->id ) ) return;
// Display a custom text (for example)
echo '<p>'.__('My custom text').'</p>';
}
推荐阅读
- python - Pytest跳过参数化
- javascript - 如何使用 ajax 在 Asp.net 中填充下拉列表
- apache - 在不同的 GCP 项目上运行 Apache 和 Nginx 并使用相同的域
- google-sheets - 谷歌表格:部分匹配的 vLookup
- android - 我的应用在使用BCR识别时意外退出,报错“NoSuchMethodError”
- flutter - 将 ZIP 文件发送到基于 REST 的 API,该 API 使用基于 Flutter 的移动应用程序托管在 AWS 上的 SSL TLS (https)
- java - SWT ShellEvent 源属性
- r - 避免矩形覆盖轴
- javascript - 在以下 Vue.js 方法中,对象数组没有被过滤,过滤项目中的值也没有被改变
- java - 如何为 java netbeans 应用程序设置在线数据库