You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定制woocommerce_email_order_meta仅在新订单邮件中隐藏SKU

如何仅在WooCommerce新订单邮件中隐藏SKU?

你提供的代码会全局修改SKU的启用状态,导致产品页面的SKU也被隐藏。要实现仅在新订单邮件中隐藏SKU,需要针对邮件环境做精准判断,而非直接影响产品页面。

解决方案代码

替换你原来的代码为以下片段:

function sv_only_remove_sku_in_new_order_emails( $enabled ) {
    global $email;
    
    // 仅在非后台且是新订单邮件时禁用SKU显示
    if ( ! is_admin() && isset( $email ) && $email->id === 'new_order' ) {
        return false;
    }
    
    return $enabled;
}
add_filter( 'wc_product_sku_enabled', 'sv_only_remove_sku_in_new_order_emails' );

代码说明

  • 通过全局变量$email获取当前邮件对象,判断邮件ID是否为new_order(WooCommerce新订单邮件的默认ID)
  • 条件! is_admin()确保后台管理界面的SKU不受影响
  • 仅在符合新订单邮件的场景下返回false,禁用SKU显示;其他场景保持原有SKU启用状态,不会影响产品页面或其他类型的邮件

扩展说明

如果需要同时在其他类型的邮件中隐藏SKU,可以扩展$email->id的判断条件,比如添加客户订单确认邮件customer_processing_order:

if ( ! is_admin() && isset( $email ) && in_array( $email->id, array( 'new_order', 'customer_processing_order' ) ) ) {
    return false;
}

内容的提问来源于stack exchange,提问作者ddd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:30:30