当购物篮在 Woocommerce 中有商品时添加自定义正文 class
Add a custom body class when basket has items in Woocommerce
当我的 woocommerce 购物车有购物篮商品时,我正在尝试进行一些样式调整。
添加项目时,会出现一个 'pay now with paypal' 按钮,但它的默认位置需要修复。不幸的是,我看不到出现此按钮时出现的任何 classes。
有谁知道当购物车总数不再为零时如何向正文添加 class?
如有任何帮助,我们将不胜感激。
这可以通过以下两个钩子函数完成:
- 当购物车不为空时,第一个将添加
'has_items'
class 到正文
- 第二个将添加
'has_items'
class 到正文(如果尚未设置)在 Ajax 添加到购物车事件 .
代码:
add_filter( 'body_class', 'add_body_class_for_cart_items' );
function add_body_class_for_cart_items( $classes ) {
if( ! WC()->cart->is_empty() )
$classes[] = 'has_items';
return $classes;
}
add_action( 'wp_footer', 'add_body_class_for_ajax_add_to_cart' );
function add_body_class_for_ajax_add_to_cart() {
?>
<script type="text/javascript">
(function($){
$('body').on( 'added_to_cart', function(){
if( ! $(this).hasClass('has_items') )
$(this).addClass('has_items');
console.log('added_to_cart');
});
})(jQuery);
</script>
<?php
}
代码进入您活跃的子主题(或主题)的 function.php 文件。
已测试并有效。
当我的 woocommerce 购物车有购物篮商品时,我正在尝试进行一些样式调整。
添加项目时,会出现一个 'pay now with paypal' 按钮,但它的默认位置需要修复。不幸的是,我看不到出现此按钮时出现的任何 classes。
有谁知道当购物车总数不再为零时如何向正文添加 class?
如有任何帮助,我们将不胜感激。
这可以通过以下两个钩子函数完成:
- 当购物车不为空时,第一个将添加
'has_items'
class 到正文 - 第二个将添加
'has_items'
class 到正文(如果尚未设置)在 Ajax 添加到购物车事件 .
代码:
add_filter( 'body_class', 'add_body_class_for_cart_items' );
function add_body_class_for_cart_items( $classes ) {
if( ! WC()->cart->is_empty() )
$classes[] = 'has_items';
return $classes;
}
add_action( 'wp_footer', 'add_body_class_for_ajax_add_to_cart' );
function add_body_class_for_ajax_add_to_cart() {
?>
<script type="text/javascript">
(function($){
$('body').on( 'added_to_cart', function(){
if( ! $(this).hasClass('has_items') )
$(this).addClass('has_items');
console.log('added_to_cart');
});
})(jQuery);
</script>
<?php
}
代码进入您活跃的子主题(或主题)的 function.php 文件。
已测试并有效。