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

如何基于商品数量在WooCommerce迷你购物车显示动态文本

解决WooCommerce迷你购物车动态文本显示问题

以下是修改后的代码,可实现根据购物车商品数量动态显示对应文本:

add_action( 'woocommerce_widget_shopping_cart_total', 'my_custom_dynamic_text', 15 );
function my_custom_dynamic_text() {
    // 获取购物车商品总数量
    $cart_item_count = WC()->cart->get_cart_contents_count();
    
    // 根据数量判断显示文本
    if ( $cart_item_count < 2 ) {
        $display_text = '文本一';
    } elseif ( $cart_item_count > 2 ) {
        $display_text = '文本二';
    } else {
        // 商品数量等于2时的默认文本,可按需修改或删除
        $display_text = '';
    }
    
    // 输出文本
    if ( ! empty( $display_text ) ) {
        echo '<p class="mini_cart_text">' . esc_html( $display_text ) . '</p>';
    }
}

关键说明:

  • 正确获取购物车数量:使用WC()->cart->get_cart_contents_count()方法准确获取购物车内的商品总数量,这是动态判断的核心。
  • 钩子优先级:保持优先级15不变,确保代码在购物车总金额区域的合适位置输出。
  • 安全输出:用esc_html()处理文本,避免XSS安全问题。
  • 边界情况处理:增加了商品数量等于2时的默认逻辑,可根据需求调整或移除。

若之前修改后无效果,大概率是未正确调用WooCommerce购物车对象的数量获取方法,或是未对输出文本做正确条件判断。将上述代码替换到主题的functions.php文件或自定义插件中即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:32:41