【问题标题】:Replacement recipient from order custom field on WooCommerce emailsWooCommerce 电子邮件上订单自定义字段的替换收件人
【发布时间】:2022-01-14 14:51:52
【问题描述】:

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

经过多次搜索,我使用了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 );

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

【问题讨论】:

    标签: php wordpress woocommerce metadata email-notifications


    【解决方案1】:

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

    请尝试以下方法:

    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 文件中。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2019-09-22
      • 2016-03-03
      • 2018-02-25
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多