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

如何重命名WooCommerce中的“wc-checkout-draft”订单状态?

重命名WooCommerce的“wc-checkout-draft”订单状态标签

wc-checkout-draft是WooCommerce的结账草稿专属状态,它不属于默认的订单状态集合(也就是wc_get_order_statuses()返回的列表),所以你之前使用的wc_order_statuses和woocommerce_register_shop_order_post_statuses过滤器无法生效。需要使用针对该状态的专属钩子来修改标签:

完整解决方案代码

将以下代码添加到你的主题functions.php文件或自定义插件中:

// 修改结账草稿状态的核心显示标签
add_filter( 'woocommerce_checkout_draft_order_status_label', 'rename_checkout_draft_label' );
function rename_checkout_draft_label( $label ) {
    return '新草稿标签'; // 替换为你需要的自定义名称
}

// 修改订单编辑页面状态下拉菜单中的标签
add_filter( 'post_status_labels', 'rename_checkout_draft_post_status_label' );
function rename_checkout_draft_post_status_label( $labels ) {
    if ( isset( $labels['wc-checkout-draft'] ) ) {
        $labels['wc-checkout-draft'] = '新草稿标签';
        $labels['wc-checkout-draft-count'] = _n_noop( '新草稿标签 (%s)', '新草稿标签 (%s)', 'woocommerce' );
    }
    return $labels;
}

// 修改订单列表筛选栏中的状态标签
add_filter( 'views_edit-shop_order', 'rename_checkout_draft_admin_view_label' );
function rename_checkout_draft_admin_view_label( $views ) {
    if ( isset( $views['wc-checkout-draft'] ) ) {
        // 提取原标签中的计数部分,替换名称后重新拼接
        $count_part = substr( $views['wc-checkout-draft'], strpos( $views['wc-checkout-draft'], '(' ) );
        $views['wc-checkout-draft'] = '新草稿标签 ' . $count_part;
    }
    return $views;
}

代码说明

  • woocommerce_checkout_draft_order_status_label:专门用于修改结账草稿状态的基础显示文本,覆盖大部分场景下的标签展示
  • post_status_labels:修改WordPress文章状态的标签定义,确保订单编辑页面的状态下拉菜单中显示自定义名称
  • views_edit-shop_order:调整后台订单列表顶部筛选栏中的状态选项名称,保持前后端显示一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:13:24