【问题标题】:Additional order email based on custom customer field基于自定义客户字段的附加订单电子邮件
【发布时间】:2019-08-20 06:59:13
【问题描述】:

我需要将订单电子邮件的副本发送到由自定义字段定义的第二个电子邮件地址。

我已经安装了标志性的自定义帐户字段插件并在用户上创建了一个自定义字段(我工作,我可以在管理员中编辑它)。 https://iconicwp.com/blog/the-ultimate-guide-to-adding-custom-woocommerce-user-account-fields/ 它被命名为“标志性注册电子邮件”

我还实现了这个https://wordpress.stackexchange.com/questions/92020/adding-a-second-email-address-to-a-completed-order-in-woocommerce 解决方案来发送额外的电子邮件。它适用于硬编码的电子邮件。

现在我需要组合解决方案,但我无法让它发挥作用。我在标志性插件代码的底部附加了发送电子邮件代码。

add_filter( 'woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2);
function mycustom_headers_filter_function( $headers, $object ) {

    $sae = 'a-custom-email@gmail.com';

    if ($object == 'customer_completed_order') {
        $headers .=  'BCC: Name <' . $sae . '>' . "\r\n";
    }

    return $headers;
}

此代码有效,但我需要使用 icon-register-email 字段。

需要获取用户注册的电子邮件地址,因此当该用户下订单时,订单副本将发送到由 icon-register-email 定义的地址。

我的编码知识非常有限,请帮助。在我上线之前要添加的最后一件事。

【问题讨论】:

  • 我快哭了。只是无法获得任何价值:( $sae = icon_get_userdata( $user_id, 'iconic-register-email' ); 我错过了什么?

标签: wordpress woocommerce wordpress-theming hook-woocommerce


【解决方案1】:

设法解决它。不确定这是否是最优雅的解决方案,但它确实有效。

因为它是预定义的函数和数组,所以我就是这样做的

function mycustom_headers_filter_function( $headers, $object ) {
    $sae = iconic_get_userdata( get_current_user_id(), 'iconic-register-email' );

    if ($object == 'new_order') {
        $headers .=  'BCC: <' . $sae . '>' . "\r\n";
    }

    return $headers;
}

【讨论】:

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