WooCommerce迷你购物车如何拆分商品标题与变体添加自定义HTML标签
WooCommerce迷你购物车商品标题与变体属性拆分实现
WooCommerce迷你购物车循环中已经内置了当前商品的$product对象,不需要直接对拼接好的$product_name做字符串拆分(若商品主标题本身包含短横线,直接拆分必然出错),直接调用WooCommerce原生方法读取主标题和变体属性重新组装输出即可,同时保留原有安全转义逻辑。
操作步骤
- 找到你主题中
mini-cart.php模板内对应商品标题的原有代码段,完整替换为以下代码:
<a class="minicart-product-title" href="<?php echo esc_url( $product_permalink ); ?>"> <?php // 输出商品缩略图 echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // h3标签包裹输出商品主标题 printf( '<h3>%s</h3>', esc_html( $product->get_title() ) ); // 仅当商品是变体项时,输出span包裹的变体属性 if ( $product->is_type( 'variation' ) ) { $variation_label = wc_get_formatted_variation( $product, true, false, false ); if ( ! empty( $variation_label ) ) { printf( ' - <span>%s</span>', esc_html( $variation_label ) ); } } ?> </a>
代码说明
- 主标题通过
$product->get_title()直接读取商品原生标题字段,变体属性通过wc_get_formatted_variation()读取格式化后的属性文本,完全规避字符串拆分的错误风险 - 所有动态输出内容都经过WordPress原生转义函数处理,符合安全规范,不会触发代码检测警告
- 自动兼容普通简单商品、可变商品等所有WooCommerce商品类型:非变体商品不会输出多余的短横线和空标签
- 已自动加上你需要的
minicart-product-titleclass,和你给出的目标结构匹配
注:你提供的目标HTML结构示例中
<h3>标签后多了一个多余的>符号,属于笔误,上述代码输出的是符合W3C规范的标准HTML结构。
内容的提问来源于stack exchange,提问作者Jack The Baker
相关产品推荐
相关产品推荐

