我试图在我的购物车为空时隐藏它,所以我决定在购物车为空时将CSS类添加到购物车HTML项目,这是我当前的代码:
function x_woocommerce_navbar_menu_item( $items, $args ) {
if (WC()->cart->cart_contents_count == 0 ) {
echo '<script type="text/javascript">
$(document).ready(function() {
$("#header_cart").addClass("zero");
});
</script>';
}
我将此添加到我的functionts.php文件
我错过了什么吗?
答案 0 :(得分:1)
如果将类添加到body以在CSS中创建层次结构将会很好。在functions.php中使用以下代码:
function tristup_body_classes( $classes )
{
global $woocommerce;
if( is_cart() && WC()->cart->cart_contents_count == 0){
$classes[]='empty-cart';
}
return $classes;
}
add_filter( 'body_class', 'tristup_body_classes' );
此代码将添加一个类&#34; empty-cart&#34;对身体 希望这能解决你的问题。
答案 1 :(得分:1)
我要在此发布一个基于Tristup答案的解决方案,因为他的答案并不是100%正确,而观察到的情况Yahya Hussein。
add_filter( 'body_class','shoppingCartNotEmpty' );
function shoppingCartNotEmpty( $classes ) {
$classes[] = WC()->cart->get_cart_contents_count() ? 'shopping-cart-not-empty'
: 'shopping-cart-empty';
return $classes;
}
当购物车为空时,将创建CSS类shopping-cart-empty
,否则shopping-cart-not-empty
可用。
答案 2 :(得分:0)
请将此代码放在functions.php
文件中。
function cart_empty_add_class() {
global $woocommerce;
if ( empty($woocommerce->cart->cart_contents) ) {
echo '<script type="text/javascript">
$(document).ready(function() {
$("#header_cart").addClass("zero");
});
</script>';
exit;
}
}
add_action( 'wp_head', 'cart_empty_add_class' );