jQuery脚本无法在woocommerce_cart_item_removed钩子中工作

时间:2017-03-21 21:08:12

标签: jquery wordpress woocommerce cart hook-woocommerce

我试图在从购物车中删除产品后运行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更新了购物车挂钩,但不是在我的情况下...感谢您的帮助......

1 个答案:

答案 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进程,所以要让它运行起来会很复杂。