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

如何在WooCommerce后台菜单添加自定义配送状态订单蓝色计数

实现WooCommerce后台菜单单独显示“已配送”订单计数

你现有的代码是把“已配送”订单数量合并到了“处理中”的计数里,要实现单独的蓝色计数徽章,需要直接修改后台菜单的输出,而非用合并计数的过滤器。下面是具体实现代码:

// 在WooCommerce后台菜单添加单独的"已配送"订单计数
function add_shipped_orders_count_to_admin_menu() {
    // 仅在后台且当前用户有订单管理权限时执行
    if ( ! is_admin() || ! current_user_can( 'manage_woocommerce' ) ) {
        return;
    }

    // 获取已配送订单数量
    $shipped_count = wc_orders_count( 'shipped' );

    // 数量大于0才显示计数徽章
    if ( $shipped_count > 0 ) {
        global $menu;

        // 定位WooCommerce订单菜单
        foreach ( $menu as $key => $item ) {
            if ( $item[2] === 'edit.php?post_type=shop_order' ) {
                // 生成和系统默认样式一致的蓝色计数徽章
                $badge = sprintf(
                    '<span class="awaiting-mod count-%d"><span class="pending-count">%d</span></span>',
                    $shipped_count,
                    number_format_i18n( $shipped_count )
                );

                // 将徽章追加到菜单标题后方
                $menu[ $key ][0] .= $badge;
                break;
            }
        }
    }
}
add_action( 'admin_menu', 'add_shipped_orders_count_to_admin_menu', 999 );

关键说明:

  • 采用admin_menu钩子并设置优先级999,确保在WooCommerce默认菜单生成完成后再进行修改
  • 调用wc_orders_count('shipped')直接获取自定义状态的订单数量
  • 复用WooCommerce自带的awaiting-mod样式类,保证计数徽章和系统默认的蓝色样式统一
  • 仅当已配送订单数量大于0时才显示徽章,避免无意义的空标记

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:43:23