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

如何在WooCommerce后台产品列表中显示Shipping Class列

在WooCommerce后台产品列表添加配送类别(Shipping Class)列

你只需将原代码中的可见性相关逻辑替换为配送类别的获取逻辑即可,以下是修改后的完整代码:

/**
 * @snippet       新增配送类别列 @ WooCommerce 后台产品列表
 * @compatible    WooCommerce 5+
 */

add_filter( 'manage_edit-product_columns', 'add_shipping_class_product_column', 9999 );
 
function add_shipping_class_product_column( $columns ){
   $columns['shipping_class'] = '配送类别'; // 可根据需求修改为英文"Shipping Class"
   return $columns;
}
 
add_action( 'manage_product_posts_custom_column', 'display_shipping_class_product_column_content', 10, 2 );
 
function display_shipping_class_product_column_content( $column, $product_id ){
    if ( $column == 'shipping_class' ) {
        $product = wc_get_product( $product_id );
        $shipping_class_slug = $product->get_shipping_class();
        
        if ( !empty( $shipping_class_slug ) ) {
            // 通过配送类别slug获取对应术语名称
            $shipping_class = get_term_by( 'slug', $shipping_class_slug, 'product_shipping_class' );
            echo $shipping_class ? $shipping_class->name : '无效配送类别';
        } else {
            echo '未设置';
        }
    }
}

代码说明:

  • 函数add_shipping_class_product_column负责在产品列表的列集合中新增“配送类别”列;
  • 函数display_shipping_class_product_column_content负责渲染列内容:
    1. 通过wc_get_product获取目标产品对象;
    2. 调用get_shipping_class获取配送类别的标识slug;
    3. 若存在有效slug,通过get_term_by查询对应的配送类别名称并显示;未设置则显示“未设置”。

将这段代码添加到主题functions.php文件或自定义插件中,即可在后台“所有产品”页面看到新增的配送类别列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:46