【问题标题】:Woocommerce email notification recipient conditionally based on custom fieldWoocommerce 电子邮件通知收件人有条件地基于自定义字段
【发布时间】:2022-01-26 10:04:33
【问题描述】:

我有一个带有自定义字段的结帐表单。

我想根据自定义字段中的值向订单电子邮件中添加一个额外的收件人。自定义字段目前是一个下拉菜单,只有 3 个选项。

以下是我能够通过一些谷歌搜索拼凑的代码,但这似乎不起作用。

function sv_conditional_email_recipient( $recipient, $order ) {

    $custom_field = get_post_meta($orderid, 'custom_field', true);

    if ($custom_field == "Value 1") 
    {
        $recipient .= ', email1@gmail.com';
    } 
    elseif ($custom_field == "Value 2") 
    {
        $recipient .= ', email2@gmail.com';
    }
    elseif ($custom_field == "Value 3") 
    {
        $recipient .= ', email3@gmail.com';
    }
    return $recipient;
}

add_filter( 'woocommerce_email_recipient_new_order', 'sv_conditional_email_recipient', 10, 2 );

感谢任何帮助。

谢谢。

【问题讨论】:

    标签: php wordpress woocommerce orders email-notifications


    【解决方案1】:

    您的问题来自未定义的$orderid。试试这个:

    add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
    function new_order_conditional_email_recipient( $recipient, $order ) {
        if ( ! is_a( $order, 'WC_Order' ) ) return $recipient; // (Optional)
    
        // Get the order ID (retro compatible)
        $order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;
    
        // Get the custom field value (with the right $order_id)
        $custom_field = get_post_meta( $order_id, 'custom_field', true );
    
        if ($custom_field == "Value 1") 
            $recipient .= ', email1@gmail.com'; 
        elseif ($custom_field == "Value 2") 
            $recipient .= ', email2@gmail.com';
        elseif ($custom_field == "Value 3") 
            $recipient .= ', email3@gmail.com';
    
        return $recipient;
    }
    

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    代码经过测试,可在 WooCommerce 2.6.x 和 3+ 上运行。

    此挂钩仅针对“new_order”电子邮件通知


    【讨论】:

      猜你喜欢
      • 2018-02-25
      • 1970-01-01
      • 2018-06-21
      • 2022-01-14
      • 2018-02-09
      • 1970-01-01
      • 2019-05-30
      相关资源
      最近更新 更多