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

如何清理WooCommerce购物车中商品permalink的变体信息

解决WooCommerce购物车商品标题移除变体信息的问题

你之前使用woocommerce_cart_item_permalink钩子并返回null的方式会直接移除整个商品链接,显然不符合需求。正确的做法是通过修改购物车商品显示的名称来实现,而非修改链接本身,具体可以使用woocommerce_cart_item_name过滤器:

add_filter( 'woocommerce_cart_item_name', 'remove_variation_suffix_from_cart_title', 10, 3 );
function remove_variation_suffix_from_cart_title( $display_name, $cart_item, $cart_item_key ) {
    $product = $cart_item['data'];
    
    // 仅针对变体产品处理
    if ( $product->is_type('variation') ) {
        // 获取父产品对象
        $parent_product = wc_get_product( $product->get_parent_id() );
        // 构建保留原链接的纯商品标题
        $display_name = sprintf(
            '<a href="%s">%s</a>',
            esc_url( $product->get_permalink() ), // 链接仍指向变体产品,若需指向父产品可替换为 $parent_product->get_permalink()
            esc_html( $parent_product->get_name() )
        );
    }
    
    return $display_name;
}

代码说明:

  • 该钩子专门用于修改购物车中显示的商品名称,不会破坏原有链接结构
  • 仅对变体产品做处理:获取其对应的父产品,用父产品的纯标题替换带变体后缀的显示名称
  • 链接默认仍指向变体产品,若你希望链接跳转到父产品详情页,只需将代码中的$product->get_permalink()替换为$parent_product->get_permalink()
  • 简单产品的标题会保持原样,不受影响

将上述代码添加到你的主题functions.php文件或自定义插件中即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:57:16