如何在WooCommerce后台订单列表添加连续编号列?
在WooCommerce后台订单列表添加连续编号列
不用插件,直接往主题(优先用子主题)的functions.php里加代码就行,分三步操作:
1. 给订单列表添加表头
通过钩子注册新列,把“序号”列插到列表最前面,也可以根据需求调整位置:
add_filter('manage_edit-shop_order_columns', 'add_order_number_column'); function add_order_number_column($columns) { $new_columns = array(); $new_columns['order_serial_number'] = '序号'; return array_merge($new_columns, $columns); }
2. 填充连续编号内容
处理分页和筛选后的序号计算,保证不管怎么筛选、翻页,序号都是当前结果集的连续数字:
add_action('manage_shop_order_posts_custom_column', 'populate_order_number_column', 10, 2); function populate_order_number_column($column, $post_id) { if ($column === 'order_serial_number') { global $wp_query; $paged = max(1, get_query_var('paged')); $per_page = $wp_query->query_vars['posts_per_page']; $current_row = $wp_query->current_post + 1; $serial_number = ($paged - 1) * $per_page + $current_row; echo $serial_number; } }
3. 调整列宽(可选)
加一段CSS让序号列更紧凑,居中显示,提升视觉体验:
add_action('admin_head', 'style_order_number_column'); function style_order_number_column() { echo '<style> .column-order_serial_number { width: 60px; text-align: center; } </style>'; }
注意事项
- 优先使用子主题的
functions.php,避免主题更新时代码丢失; - 代码生效后,筛选订单或切换分页,序号会自动跟随当前结果集重新计算,完全满足你快速查看当前筛选结果序号的需求。
内容的提问来源于stack exchange,提问作者Andrew Tux
相关产品推荐
相关产品推荐

