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

如何在WooCommerce订单页面添加「公司名称」列?

在WooCommerce订单列表添加公司名称列

要把订单客户模块下的公司名称单独做成一列,你可以通过两个WooCommerce钩子实现,直接把代码加到主题的functions.php文件或者自定义插件里:

1. 添加新列的表头

用manage_edit-shop_order_columns钩子在订单列表表头插入新列:

add_filter( 'manage_edit-shop_order_columns', 'add_company_name_order_column' );
function add_company_name_order_column( $columns ) {
    // 将新列插入到「Customer」列后方
    $new_columns = array();
    foreach ( $columns as $key => $value ) {
        $new_columns[ $key ] = $value;
        if ( $key === 'customer' ) {
            $new_columns['company_name'] = '公司名称';
        }
    }
    return $new_columns;
}

2. 填充列的内容

用manage_shop_order_posts_custom_column钩子获取并显示每个订单的公司名称:

add_action( 'manage_shop_order_posts_custom_column', 'display_company_name_order_column_content', 10, 2 );
function display_company_name_order_column_content( $column, $post_id ) {
    if ( $column === 'company_name' ) {
        $order = wc_get_order( $post_id );
        if ( $order ) {
            $company_name = $order->get_billing_company();
            echo ! empty( $company_name ) ? esc_html( $company_name ) : '无';
        }
    }
}

补充说明

  • 若想调整新列的位置,修改foreach循环里的判断条件即可,比如换成$key === 'order_status'就能把列放在状态列后面。
  • 订单未填写公司名称时会显示「无」,你可以按需修改这个默认文本。
  • 使用esc_html()转义输出内容,能避免XSS安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 16:57:20