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

如何从WooCommerce订阅邮件中移除「下次付款日期」?

移除WooCommerce邮件中的「下次付款日期」字段

通常「下次付款日期」字段来自WooCommerce Subscriptions插件的邮件模板,以下是几种可行的解决方法:

方法1:使用钩子函数(推荐,无需修改核心/插件文件)

通过过滤邮件订单元字段的钩子,直接移除目标字段。将以下代码添加到主题的functions.php文件或自定义功能插件中:

// 移除邮件中的下次付款日期字段
add_filter( 'woocommerce_email_order_meta_fields', 'remove_next_payment_date_from_emails', 10, 3 );
function remove_next_payment_date_from_emails( $fields, $sent_to_admin, $order ) {
    // 仅针对订阅订单处理
    if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order ) ) {
        // 优先通过字段键名移除(键名可能为'_next_payment_date',可根据实际情况调整)
        unset( $fields['_next_payment_date'] );
        
        // 如果键名匹配失败,通过字段标签文本匹配移除
        foreach ( $fields as $key => $field ) {
            if ( strpos( $field['label'], '下次付款日期' ) !== false ) {
                unset( $fields[$key] );
                break;
            }
        }
    }
    return $fields;
}

如果不确定字段键名,可以在函数中临时添加var_dump($fields); exit;,触发邮件发送后就能看到所有字段的结构,再调整unset的目标键。

方法2:修改邮件模板文件(适合深度自定义场景)

通过复制插件模板到主题目录进行修改,避免插件更新覆盖自定义内容:

  1. 找到WooCommerce Subscriptions的邮件模板,路径为:
    • HTML版:wp-content/plugins/woocommerce-subscriptions/templates/emails/html/email-order-details.php
    • 纯文本版:wp-content/plugins/woocommerce-subscriptions/templates/emails/plain/email-order-details.php
  2. 将对应模板文件复制到你的主题目录下的woocommerce/emails/html/(或plain/)文件夹中(路径结构需完全匹配,不存在的文件夹自行创建)
  3. 打开复制后的文件,找到包含「下次付款日期」的代码块(示例如下),直接删除:
<?php if ( $next_payment_date = wcs_get_next_payment_date( $order ) ) : ?>
    <tr>
        <th class="td" scope="row" style="text-align:left;"><?php esc_html_e( '下次付款日期', 'woocommerce-subscriptions' ); ?>:</th>
        <td class="td" style="text-align:left;"><?php echo esc_html( date_i18n( wc_date_format(), $next_payment_date->getTimestamp() ) ); ?></td>
    </tr>
<?php endif; ?>

方法3:仅在特定邮件类型中移除

如果需要只在指定邮件(如客户订单确认邮件)中移除该字段,可在钩子中增加邮件类型判断:

add_filter( 'woocommerce_email_order_meta_fields', 'remove_next_payment_date_from_specific_emails', 10, 4 );
function remove_next_payment_date_from_specific_emails( $fields, $sent_to_admin, $order, $email ) {
    // 指定要移除字段的邮件类型ID
    $target_email_ids = array( 'customer_processing_order', 'customer_completed_order' );
    
    if ( in_array( $email->id, $target_email_ids ) && function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order ) ) {
        // 移除字段逻辑同方法1
        unset( $fields['_next_payment_date'] );
        foreach ( $fields as $key => $field ) {
            if ( strpos( $field['label'], '下次付款日期' ) !== false ) {
                unset( $fields[$key] );
                break;
            }
        }
    }
    return $fields;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:40:40