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

如何移除WooCommerce后台订单页非处理/完成状态的付款信息

WooCommerce后台订单付款信息状态关联显示解决方案

WooCommerce默认仅在订单标记为付款成功时写入_paid_date等付款相关元字段,后续订单状态变更不会自动清空或隐藏这些字段的展示,因此会出现状态回退后付款信息残留的问题。

方案1:动态过滤后台显示内容(推荐,不修改原始数据)

直接通过WordPress过滤器控制付款信息的可见性,不改动订单原有存储数据,避免数据丢失风险。
将以下代码添加到你的主题functions.php文件或自定义功能插件中:

// 隐藏非处理中/已完成订单的Paid on付款时间显示
add_filter( 'woocommerce_admin_order_paid_display', 'custom_hide_paid_info_for_non_paid_status', 10, 2 );
function custom_hide_paid_info_for_non_paid_status( $paid_display, $order ) {
    // 允许显示付款信息的状态列表
    $allowed_statuses = array( 'processing', 'completed' );
    if ( ! in_array( $order->get_status(), $allowed_statuses ) ) {
        return '';
    }
    return $paid_display;
}

// 隐藏非处理中/已完成订单的IP等付款相关账单字段
add_filter( 'woocommerce_admin_order_billing_address_fields', 'custom_hide_payment_meta_for_non_paid_status', 10, 2 );
function custom_hide_payment_meta_for_non_paid_status( $fields, $order ) {
    $allowed_statuses = array( 'processing', 'completed' );
    if ( ! in_array( $order->get_status(), $allowed_statuses ) ) {
        // 移除IP地址字段,如有其他需要隐藏的字段可一并unset
        unset( $fields['ip_address'] );
    }
    return $fields;
}

如果需要同时隐藏更多付款相关字段,可以在第二个钩子的判断逻辑里追加对应字段的unset操作即可,你之前针对BACS和本地自提修改"Paid on"文本的自定义代码可以和该方案兼容,无需调整原有修改。

方案2:状态回退时自动清空付款元数据

如果需要彻底清除回退状态订单的付款相关存储数据,可以使用订单状态变更钩子触发元数据删除操作:

add_action( 'woocommerce_order_status_changed', 'custom_clear_payment_meta_on_status_backward', 10, 3 );
function custom_clear_payment_meta_on_status_backward( $order_id, $old_status, $new_status ) {
    $order = wc_get_order( $order_id );
    $allowed_statuses = array( 'processing', 'completed' );
    // 当从允许显示付款的状态切换到其他状态时,清空付款相关元数据
    if ( in_array( $old_status, $allowed_statuses ) && ! in_array( $new_status, $allowed_statuses ) ) {
        // 删除付款时间
        $order->delete_meta_data( '_paid_date' );
        // 删除用户IP
        $order->delete_meta_data( '_customer_ip_address' );
        // 如有其他需要清空的付款元字段可在此处追加删除逻辑
        $order->save();
    }
}

注意:该方案会永久删除订单的对应元数据,操作不可逆,建议测试无误后再在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:24:03