php - WooCommerce 电子邮件中订单自定义字段的替换收件人

标签 php wordpress woocommerce metadata email-notifications

我使用结帐字段插件在结帐部分创建了一个新字段。此字段允许客户指定帐单或送货地址之外的第三个电子邮件地址。我只想将订单确认发送到此地址,而不是发送到计费部分。

经过多次搜索,我使用了 Send Woocommerce Order to email address listed on product page应答代码,将订单项元键 'email' 替换为 'billing_email_guest',例如:

$email = wc_get_order_item_meta( $item_id, 'billing_email_guest', true );

但是这不起作用。我做错了什么?

最佳答案

您没有使用正确的方法,因为这是关于自定义订单元数据,而不是订单商品元数据。

请尝试以下操作:

add_filter( 'woocommerce_email_recipient_customer_on_hold_order', 'additional_customer_email_recipient', 10, 2 ); // On hold Order
add_filter( 'woocommerce_email_recipient_customer_processing_order', 'additional_customer_email_recipient', 10, 2 ); // Processing Order
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'additional_customer_email_recipient', 10, 2 ); // Completed Order
function additional_customer_email_recipient( $recipient, $order ) {
    if ( ! is_a( $order, 'WC_Order' ) ) 
        return $recipient;

    $billing_email_guest = $order->get_meta('billing_email_guest');
    if( ! empty($billing_email_guest) ) {
        return $billing_email_guest;
    }

    return $recipient;
}

代码位于事件子主题(或事件主题)的functions.php 文件中。它应该有效。

关于php - WooCommerce 电子邮件中订单自定义字段的替换收件人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64339553/

相关文章:

javascript - PHP 到 JSON 数组输出错误

php - WordPress: fatal error :无法在第 130 行的写入上下文中使用函数返回值

html - Contact Form 7 - 复选框自定义/程式化

php - 如何在第一次按键时从数据库获取数据

php - 如何获取额外数据以提供 symfony2 集合字段类型?

php - 在第 26 行获取错误 : Fatal error: Call to undefined function: () in/homepages/44/d1895123746/htdocs/cll/index. php。如何修复?

php - WordPress 主题定制器内容未显示在页面上

wordpress - 从 Entrada 主题中特定页面上的产品类别中排除产品

php - 仅显示登录用户的添加到购物车..woocommerce

wordpress - 用于订单更新的 Woocommerce Hook