0

0

WooCommerce 菜单购物车:隐藏空购物车时的数量显示

心靈之曲

心靈之曲

发布时间:2025-09-08 12:46:01

|

788人浏览过

|

来源于php中文网

原创

woocommerce 菜单购物车:隐藏空购物车时的数量显示

本文旨在解决 WooCommerce 网站中,菜单购物车图标在购物车为空时显示 "0" 的问题。通过修改 functions.php 文件中的代码,实现当购物车为空时,只显示购物车图标,隐藏数量标记,从而提供更友好的用户体验。本文将提供详细的代码示例和步骤,帮助你轻松实现此功能。

隐藏空购物车数量标记的步骤

在 WooCommerce 网站中,我们经常会在菜单中添加一个购物车图标,并显示购物车中的商品数量。但当购物车为空时,默认情况下会显示 "0",这可能会影响用户体验。以下步骤将指导你如何修改代码,使其在购物车为空时隐藏数量标记。

  1. 定位代码: 首先,你需要找到你的 WordPress 主题的 functions.php 文件。通常位于 wp-content/themes/你的主题名称/functions.php。

  2. 修改 my_item_setup 函数: 在 functions.php 文件中找到名为 my_item_setup 的函数。该函数负责生成菜单项的内容,包括购物车图标和数量。

  3. 添加条件判断: 在 my_item_setup 函数中,你需要添加一个条件判断,只有当购物车中的商品数量大于 0 时,才显示数量标记。 以下是修改后的代码示例:

    佳可商务购物程序 2004
    佳可商务购物程序 2004

    在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台

    下载
/* Add cart to menu */
add_filter( 'wp_setup_nav_menu_item','my_item_setup' );
function my_item_setup($item) {

    if ( ! is_admin() ) {
        if ( class_exists( 'woocommerce' ) ) {

            global $woocommerce;

            if ( $item->url == esc_url( wc_get_cart_url() ) ) {

                if (is_null($woocommerce->cart)){

                } else {
                    if( get_locale() == 'fr_FR' ) {
                        $innerBasket = '';
                        $count = $woocommerce->cart->get_cart_contents_count();  

                        if ($count > 0) {
                            $innerBasket = '' . $count . '';
                        };

                        $item->title = '' . $innerBasket . '';
                    }
                }

            }
        }
    }
    return $item;
}

/**
 * Updates the content of the cart link via AJAX when adding an item */
add_filter( 'woocommerce_add_to_cart_fragments', 'my_woocommerce_add_to_cart_fragments' );
function my_woocommerce_add_to_cart_fragments( $fragments ) {
    // Add our fragment
    $fragments['li.menu-item-type-woocommerce-cart'] = my_item_setup( '');
    return $fragments;
}

代码解释:

  • $innerBasket = '';: 初始化一个空字符串变量 $innerBasket,用于存储数量标记的 HTML 代码。
  • $count = $woocommerce->cart->get_cart_contents_count();: 获取购物车中的商品数量。
  • if ($count > 0) { ... }: 判断购物车中的商品数量是否大于 0。
  • $innerBasket = '' . $count . '';: 如果购物车中的商品数量大于 0,则将包含数量的 HTML 代码赋值给 $innerBasket 变量。
  • $item->title = '' . $innerBasket . '';: 将购物车图标和数量标记的 HTML 代码组合起来,赋值给菜单项的标题。
  1. 保存文件: 保存 functions.php 文件。

  2. 清除缓存: 清除 WordPress 网站的缓存,包括主题缓存、插件缓存以及浏览器缓存。

注意事项

  • 备份文件: 在修改 functions.php 文件之前,请务必备份该文件,以防止出现意外情况。
  • 主题更新: 如果你的主题进行了更新,你可能需要重新应用这些修改,因为主题更新可能会覆盖 functions.php 文件。
  • 子主题: 建议将这些修改放在子主题的 functions.php 文件中,这样可以避免主题更新导致修改丢失。
  • CSS样式: 上述代码使用了 cart-basket 类名。请确保你的主题或插件定义了相应的 CSS 样式,以便正确显示数量标记。
  • 语言环境: 代码示例中包含 if( get_locale() == 'fr_FR' ),这表明代码最初是为法语环境设计的。你需要根据你的网站语言环境进行相应的调整,例如删除此判断,或者添加其他语言环境的判断。

总结

通过以上步骤,你可以轻松地实现在 WooCommerce 网站中,当购物车为空时隐藏数量标记的功能。这可以提升用户体验,避免在购物车为空时显示 "0" 的情况。记住在修改代码之前备份文件,并注意主题更新可能导致修改丢失的问题。通过使用子主题,你可以更好地管理自定义代码,避免主题更新带来的影响。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

776

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2023.11.20

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1500

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

623

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

613

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

588

2024.04.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

84

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

CSS教程
CSS教程

共754课时 | 24.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号