删除某些 WooCommerce 电子邮件通知中的产品购买说明

Posted

技术标签:

【中文标题】删除某些 WooCommerce 电子邮件通知中的产品购买说明【英文标题】:Remove product purchase notes in certain WooCommerce email notifications 【发布时间】:2021-12-27 11:42:35 【问题描述】:

我尝试从订单完成邮件中删除购买说明。目前,购买说明在订单确认邮件和订单完成邮件中。但我们不希望订单完成邮件中包含该信息。

所以我在这里找到了这个输入:https://wordpress.stackexchange.com/questions/340045/how-do-i-hide-the-purchase-note-in-the-woocommerce-order-completed-email

我还发现在下面剪断了。但是,它会在任何地方删除它,而不仅仅是在完整邮件的订单中。有什么建议吗?

add_filter('woocommerce_email_order_items_args','remove_order_note',12);
function remove_order_note($args)
    $args['show_purchase_note']= false;
    return $args;

【问题讨论】:

【参考方案1】:

您可以使用电子邮件 ID 来定位 WooCommerce 中的特定电子邮件通知。 但是,因为这在您使用的钩子中是未知的,所以我们将通过另一个钩子使电子邮件 ID 全局可用

所以你得到:

// Setting the email_is as a global variable
function action_woocommerce_email_before_order_table( $order, $sent_to_admin, $plain_text, $email )            
    $GLOBALS['email_id_str'] = $email->id;

add_action( 'woocommerce_email_before_order_table', 'action_woocommerce_email_before_order_table', 10, 4 );

function filter_woocommerce_email_order_items_args( $args ) 
    // Getting the email ID global variable
    $refNameGlobalsVar = $GLOBALS;
    $email_id = isset( $refNameGlobalsVar['email_id_str'] ) ? $refNameGlobalsVar['email_id_str'] : '';

    // Targeting specific email. Multiple statuses can be added, separated by a comma
    if ( in_array( $email_id, array( 'customer_completed_order', 'customer_invoice' ) ) ) 
        // False
        $args['show_purchase_note'] = false;
    

    return $args;

add_filter( 'woocommerce_email_order_items_args', 'filter_woocommerce_email_order_items_args', 10, 1 );

注意:How to target other WooCommerce order emails

在这个答案中使用:Changing in WooCommerce email notification Order Item table "Product" label

【讨论】:

以上是关于删除某些 WooCommerce 电子邮件通知中的产品购买说明的主要内容,如果未能解决你的问题,请参考以下文章

将基于送货方式的自定义文本添加到某些 WooCommerce 电子邮件通知

在Woocommerce电子邮件通知中显示自定义订单状态的付款链接

通过 WooCommerce 管理员电子邮件通知中的“woocommerce_email_order_meta”挂钩显示产品自定义字段

woocommerce 电子邮件通知中的 get_post_meta

向管理员发送电子邮件通知,了解 WooCommerce 中的待处理订单状态

根据 Woocommerce 中的产品类别按项目自定义电子邮件通知