如何为WooCommerce订单表格添加用户角色列
在WooCommerce订单管理页面添加客户角色列的有效代码
以下是经过验证的PHP代码,可直接添加到你的主题functions.php文件或自定义功能插件中:
1. 注册新列
这段代码会在订单管理页面的表头添加「客户角色」列:
add_filter( 'manage_edit-shop_order_columns', 'add_customer_role_order_column' ); function add_customer_role_order_column( $columns ) { // 可调整新列在表头的位置,当前是追加到末尾 $columns['customer_role'] = '客户角色'; return $columns; }
2. 填充列内容
这段代码会为每一行订单获取并显示对应客户的角色,同时兼容访客订单的情况:
add_action( 'manage_shop_order_posts_custom_column', 'display_customer_role_order_column_content' ); function display_customer_role_order_column_content( $column ) { global $post; if ( $column === 'customer_role' ) { $order = wc_get_order( $post->ID ); $user_id = $order->get_user_id(); if ( $user_id > 0 ) { $user = get_userdata( $user_id ); $roles = implode( ', ', $user->roles ); echo esc_html( $roles ); } else { echo '访客'; } } }
注意事项
- 不要直接修改WooCommerce核心文件,否则插件更新后代码会丢失
- 优先将代码放在子主题的
functions.php中,避免主题更新影响 - 代码添加后,刷新订单管理页面即可看到新列
内容的提问来源于stack exchange,提问作者Darren
相关产品推荐
相关产品推荐

