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

在WooCommerce后台订单列表(HPOS)添加客户订单数列失败求助

WooCommerce后台订单列表自定义列无法获取元数据的修复方案

你的代码存在两个关键问题导致无法正确获取元数据:

  1. my-column1分支未添加break
    在switch语句的case 'my-column1'块中,执行完获取元数据的逻辑后没有添加break;,代码会继续向下执行my-column2的分支逻辑,最终显示my-column2的“no value”提示,覆盖了my-column1的内容。

  2. 元键错误包含美元符号
    调用$order->get_meta('$orders_count');时,元键写了$orders_count,如果实际存储的元数据键是orders_count(无美元符号),这个写法会导致无法匹配到对应的元数据,自然返回空值。

以下是修正后的完整代码:

add_filter( 'manage_woocommerce_page_wc-orders_columns', 'add_wc_order_list_custom_column' );
function add_wc_order_list_custom_column( $columns ) {
    $reordered_columns = array();

    // Inserting columns to a specific location
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;

        if( $key ===  'order_status' ){
            // Inserting after "Status" column
            $reordered_columns['my-column1'] = __( 'Title1','customer_order_count');
            $reordered_columns['my-column2'] = __( 'Title2','theme_domain');
        }
    }
    return $reordered_columns;
}

add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_wc_order_list_custom_column_content', 10, 2);
function display_wc_order_list_custom_column_content( $column, $order ){
    switch ( $column )
    {
        case 'my-column1' :
            // Get custom order metadata - 修正元键,去掉多余的$
            $value = $order->get_meta('orders_count');
            if ( ! empty($value) ) {
                echo $value;
            } else {
                echo '<small>(<em>no value</em>)</small>';
            }
            break; // 添加break,终止当前分支执行

        case 'my-column2' :
            // Get custom order metadata
            $value = $order->get_meta('_the_meta_key2');
            if ( ! empty($value) ) {
                echo $value;
            }
            // For testing (to be removed) - Empty value case
            else {
                echo '<small>(<em>no value</em>)</small>';
            }
            break;
    }
}

额外说明:如果你的元数据键确实是带$的$orders_count,那可以保留这个键,但需要确认该元数据是否正确存储到了订单对象中——可以通过WooCommerce订单编辑页面的“自定义字段”面板(如果开启的话)查看实际的元键名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 08:47:24