
本文旨在解决 WooCommerce 网站中,菜单购物车图标在购物车为空时显示 "0" 的问题。通过修改 functions.php 文件中的代码,实现当购物车为空时,只显示购物车图标,隐藏数量标记,从而提供更友好的用户体验。本文将提供详细的代码示例和步骤,帮助你轻松实现此功能。
在 WooCommerce 网站中,我们经常会在菜单中添加一个购物车图标,并显示购物车中的商品数量。但当购物车为空时,默认情况下会显示 "0",这可能会影响用户体验。以下步骤将指导你如何修改代码,使其在购物车为空时隐藏数量标记。
定位代码: 首先,你需要找到你的 WordPress 主题的 functions.php 文件。通常位于 wp-content/themes/你的主题名称/functions.php。
修改 my_item_setup 函数: 在 functions.php 文件中找到名为 my_item_setup 的函数。该函数负责生成菜单项的内容,包括购物车图标和数量。
添加条件判断: 在 my_item_setup 函数中,你需要添加一个条件判断,只有当购物车中的商品数量大于 0 时,才显示数量标记。 以下是修改后的代码示例:
/* 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 = '<span class="cart-basket d-flex align-items-center justify-content-center">' . $count . '</span>';
};
$item->title = '<span style="position:relative;"><i class="fal fa-shopping-cart" style="font-size:1.25em;"></i>' . $innerBasket . '</span>';
}
}
}
}
}
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;
}代码解释:
保存文件: 保存 functions.php 文件。
清除缓存: 清除 WordPress 网站的缓存,包括主题缓存、插件缓存以及浏览器缓存。
通过以上步骤,你可以轻松地实现在 WooCommerce 网站中,当购物车为空时隐藏数量标记的功能。这可以提升用户体验,避免在购物车为空时显示 "0" 的情况。记住在修改代码之前备份文件,并注意主题更新可能导致修改丢失的问题。通过使用子主题,你可以更好地管理自定义代码,避免主题更新带来的影响。
以上就是WooCommerce 菜单购物车:隐藏空购物车时的数量显示的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号