jQuery 脚本在 woocommerce_cart_item_removed 挂钩中不起作用

jQuery script not working in woocommerce_cart_item_removed hook

我正在尝试 运行 从购物车中移除产品后的 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) 要让 jQuery 与 Wordpress 一起工作,您需要使用 jQuery 而不是 shortland $开头,这样:

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 流程,因此要使其正常工作会很复杂。