我试图在从购物车中删除产品后运行javascript功能,但无法正常工作......我正在使用下面的功能
function action_woocommerce_remove_cart_item( $cart_item_key, $instance ) {
?>
<script>
$(document).ready(function(e) {
alert('removed');
$('#cart_ifram').attr('src','<?php echo home_url(); ?>/cart/');
});
</script>
<?php
};
add_action( 'woocommerce_cart_item_removed', 'action_woocommerce_remove_cart_item', 10, 2 );
我也尝试过woocommerce_cart_item_removed钩子,但它对我没用。此外,当一个项目被添加到购物车时,woocommerce更新了购物车挂钩,但不是在我的情况下...感谢您的帮助......
答案 0 :(得分:1)
1)要让jQuery使用Wordpress,您需要在开头使用 jQuery
而不是短片 $
,这样:< / p>
jQuery(document).ready(function($){
alert('removed');
$('#cart_ifram').attr('src','<?php echo home_url(); ?>/cart/');
});
......或......
(function($){
alert('removed');
$('#cart_ifram').attr('src','<?php echo home_url(); ?>/cart/');
})(jQuery);
2)您正在使用正确的钩子,但Javascript / jQuery似乎无法正常使用。试试这段代码,您会看到在删除购物车商品时收到自定义通知:
add_action( 'woocommerce_cart_item_removed', 'action_woocommerce_remove_cart_item', 10, 2 );
function action_woocommerce_remove_cart_item( $cart_item_key, $instance ) {
// Displaying a custom notice
wc_add_notice( 'ITEM REMOVED', 'error' );
?>
<script>
jQuery(document).ready(function($) {
alert('Item removed');
console.log('Item removed');
});
</script>
<?php
}
在购物车页面上,有很多WooCommerce javascript事件肯定会杀死你定制的jQuery进程,所以要让它运行起来会很复杂。