WooCommerce单品页显示购物车对应商品数量的技术需求
在WooCommerce单品页面显示购物车中当前商品的数量
需求:在WooCommerce单品页面以文本形式显示购物车中当前商品的数量,最终显示为“选择X个握把”(X为购物车中该商品的数量,数量为1时显示“选择1个握把”)。
基于你提供的现有代码,修改后的完整代码如下:
add_action('woocommerce_before_add_to_cart_form', 'gripsquantity', 5); function gripsquantity(){ // 获取当前单品页面的商品ID global $product; $product_id = $product->get_id(); // 初始化当前商品在购物车中的数量为0 $cart_item_quantity = 0; // 遍历购物车,统计当前商品的数量 foreach( WC()->cart->get_cart() as $cart_item ) { if( $cart_item['product_id'] === $product_id ) { $cart_item_quantity = $cart_item['quantity']; break; // 找到目标商品后终止循环,提升效率 } } // 输出对应的文本内容 echo '选择' . $cart_item_quantity . '个握把'; }
代码说明:
- 通过
global $product获取当前页面的商品对象,进而拿到商品ID,确保统计的是当前页面商品的购物车数量 - 遍历购物车中的所有项目,匹配当前商品ID后获取对应的数量
- 直接拼接文本输出,自动适配不同数量的显示(包括数量为1的情况)
- 如果购物车中没有该商品,会显示“选择0个握把”,如果需要调整无商品时的提示,修改最后一行的echo内容即可
内容的提问来源于stack exchange,提问作者Ba7rainsun
相关产品推荐
相关产品推荐

