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

如何通过编辑PHP在WooCommerce购物车页面显示产品Shipping Class?

在WooCommerce购物车页面显示产品Shipping Class的PHP实现方案

当然可以!完全不需要依赖插件,通过几行自定义PHP代码就能轻松实现这个需求。下面是具体的步骤和代码:

实现方法

你可以借助WooCommerce提供的钩子,在购物车项目的名称下方插入Shipping Class信息。具体代码如下:

add_action( 'woocommerce_after_cart_item_name', 'display_shipping_class_below_cart_product', 10, 2 );
function display_shipping_class_below_cart_product( $cart_item, $cart_item_key ) {
    // 获取当前购物车商品的Shipping Class对象
    $shipping_class_term = get_term( $cart_item['data']->get_shipping_class_id() );
    
    // 验证Shipping Class是否存在且有效
    if ( $shipping_class_term && ! is_wp_error( $shipping_class_term ) && ! empty( $shipping_class_term->name ) ) {
        // 输出Shipping Class信息,附带基础样式(可自行调整)
        echo '<p class="cart-shipping-class" style="font-size: 0.9rem; color: #777; margin: 0.3rem 0 0;">';
        echo esc_html__( 'Shipping Class:', 'woocommerce' ) . ' ' . esc_html( $shipping_class_term->name );
        echo '</p>';
    }
}

代码说明

  • 我们使用了woocommerce_after_cart_item_name钩子,这个钩子会在每个购物车商品名称的后面触发,刚好匹配你想要的显示位置
  • get_term()函数用来通过Shipping Class的ID获取对应的分类对象,确保能拿到正确的名称
  • 加入了多重判断,避免没有设置Shipping Class的商品输出空内容或错误信息
  • 使用esc_html()和esc_html__()函数保证输出内容的安全性,同时支持WooCommerce的多语言翻译
  • 附带了简单的内联样式,你可以根据自己的主题风格修改,或者去掉内联样式,在主题的CSS文件中添加.cart-shipping-class的自定义样式

注意事项

  • 不要直接修改主题的functions.php文件:推荐使用子主题的functions.php,或者使用类似「Code Snippets」的自定义代码插件来添加这段代码,这样主题更新时不会丢失你的自定义修改
  • 如果需要调整显示位置,也可以尝试其他钩子,比如woocommerce_cart_item_meta_end,不过woocommerce_after_cart_item_name是最贴合需求的位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:46:00