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

WooCommerce如何在购物车页面覆盖商品名称?

WooCommerce购物车自定义商品名称的正确实现方式

你之前用product_name作为键名传递自定义名称不生效,是因为add_to_cart的第五个参数cart_item_data仅用于存储自定义数据,WooCommerce不会自动读取这个键来覆盖商品名称。正确的做法是通过钩子拦截购物车商品名称的显示逻辑,步骤如下:

1. 添加商品到购物车时传递自定义名称

在调用add_to_cart时,用自定义键名存储你的商品名称:

$cart_item_data = array(
    'custom_product_name' => '自定义商品名称'
);
WC()->cart->add_to_cart( $product_id, $qty, $variation_id, $all_variations, $cart_item_data );

2. 用钩子修改购物车显示的商品名称

将以下代码添加到主题的functions.php文件或自定义插件中,通过woocommerce_cart_item_name钩子替换显示的名称:

add_filter( 'woocommerce_cart_item_name', 'override_cart_item_name', 10, 3 );
function override_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
    // 检查是否存在自定义名称数据
    if ( isset( $cart_item['custom_product_name'] ) ) {
        // 直接替换为自定义名称,如需保留商品链接可启用下方注释代码
        $item_name = $cart_item['custom_product_name'];
        // $item_name = sprintf( '<a href="%s">%s</a>', esc_url( $cart_item['data']->get_permalink() ), $cart_item['custom_product_name'] );
    }
    return $item_name;
}

这样就能在购物车视图中显示你设置的自定义商品名称了。

内容的提问来源于stack exchange,提问作者BLK-Frankie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:54:58