php - 如何防止我的购物车菜单在为空时显示为零?
问题描述
在一个 WordPress + WooCommerce 网站上,我在菜单中添加了一个购物车图标,其中包含一个圆圈内包含的项目数,方法是将以下代码放入 functions.php 文件中:
/* 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' ) {
$item->title = '<span style="position:relative;"><i class="fal fa-shopping-cart" style="font-size:1.25em;"></i><span class="cart-basket d-flex align-items-center justify-content-center">'. '' . $woocommerce->cart->get_cart_contents_count() . '</span></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;
}
它运作良好,但我希望在购物车为空时不显示圆圈和数字(在这种情况下,当前圆圈显示为“0”),只有购物车图标,你知道这是否可能,并且,如果是这样,你能告诉我允许它的代码吗?
谢谢你的帮助 !
(对不起我的英语不好……)
解决方案
它可以通过有条件地添加内部<span>
just if来实现get_cart_contents_count() > 0
:
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>';
}
推荐阅读
- react-native - React Native - 带有列包装器的水平平面列表没有按要求正确地使用 flex?
- rust - 什么是代码模型以及它们如何影响代码生成?
- javascript - 单击按钮时禁用功能的问题
- javascript - 无法使用带有 node.js 的 axios POST 将 json 记录插入到 postgresql 数据库中?
- amazon-web-services - AWS Elastic Beanstalk Docker 容器端口映射
- python - Python discord bot 离开语音频道
- sql - 在 Django 中获取模型的所有链接实例的最佳方法是什么?
- php - MediaWiki“保存更改”超时问题
- python - 如何使用 python 从公共谷歌表中获取数据?
- null - 如何计算 Tableau 中所有维度的空单元格总数?