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

请求修改WooCommerce代码:在购物车显示配送类别及对应价格

修改WooCommerce购物车商品名称下方的配送信息,添加配送价格

以下是修改后的代码,会在配送类别名称前显示对应的配送价格:

add_filter( 'woocommerce_cart_item_name', 'shipping_class_with_price_in_item_name', 10, 3);
function shipping_class_with_price_in_item_name( $item_name, $cart_item, $cart_item_key ) {
    $product = $cart_item['data'];
    $shipping_class_id = $product->get_shipping_class_id();
    
    if( empty( $shipping_class_id ) ) return $item_name;
    
    $shipping_class_term = get_term( $shipping_class_id, 'product_shipping_class' );
    $shipping_class_slug = $shipping_class_term->slug;
    $shipping_price = '';

    // 获取启用的配送方法,查找对应配送类别的价格
    $shipping_methods = WC_Shipping::instance()->get_shipping_methods();
    foreach( $shipping_methods as $method ) {
        if( $method->enabled === 'yes' && method_exists( $method, 'get_shipping_class_cost' ) ) {
            // 获取该配送方法下对应配送类别的费用
            $class_cost = $method->get_shipping_class_cost( $shipping_class_slug, $cart_item );
            if( $class_cost > 0 ) {
                $shipping_price = wc_price( $class_cost );
                break; // 找到第一个匹配的启用方法的价格后停止遍历
            }
        }
    }

    $label = __( 'Shipping', 'woocommerce' );
    $shipping_info = $shipping_price ? "{$shipping_price} - {$shipping_class_term->name}" : $shipping_class_term->name;

    return $item_name . '<br> <p class="item-shipping_class"> <strong>' . $label . ': </strong>' . $shipping_info . '</p>';
}

代码说明:

  • 新增遍历启用配送方法的逻辑,提取对应配送类别的设置费用
  • 用wc_price()格式化价格,确保显示正确的货币符号与格式
  • 若未找到对应配送类别的价格,会自动 fallback 到仅显示配送类别名称,兼容原有逻辑
  • 保留原HTML结构与样式类,不影响现有页面布局

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:09:59