【问题标题】:WooCommerce mini cart event trigger [duplicate]WooCommerce 迷你购物车事件触发器 [重复]
【发布时间】:2019-02-21 10:20:00
【问题描述】:

每次通过 ajax 将产品添加到购物篮并刷新迷你购物车时,我都需要能够运行一些 jQuery。我不能简单地为添加到购物车创建一个偶数,因为我运行了一些 jQuery 来检查迷你购物车中是否有产品,但添加到购物车甚至在迷你购物车添加产品之前运行。这意味着我的 if 语句变为 false。

除了在 jQuery 中创建超时之外,我还能做些什么?

这是我根据当前答案修改的代码;

add_action( 'wp_footer', 'ajax_add_tocart_event' );

function ajax_add_tocart_event() {
    ?>
     <script type="text/javascript">
       jQuery( 'body' ).on( 'added_to_cart', function() {
            if( $('#mini_wrap .cart_list').length ){
                alert('hi');
            }
       } );
    </script>
    <?php
}

【问题讨论】:

  • 我已经编辑了我的问题,所以它现在不是重复的,因为我的要求现在不同了。

标签: php jquery wordpress woocommerce


【解决方案1】:

您可以使用以下代码。

   add_action( 'wp_footer', 'ajax_add_tocart_event' );
   function ajax_add_tocart_event() {
    ?>
     <script type="text/javascript">
       jQuery( 'body' ).on( 'added_to_cart', function( e, fragments, cart_hash, this_button ) {
              alert('product added to cart');
       } );
    </script>
    <?php
    } ?>

【讨论】:

  • 我需要在jQuery函数中传递的参数吗?我要做的就是检查我的迷你购物车是否有产品。谢谢
  • 是的,你可以轻松地使用 ul length ul class is 'woocommerce-mini-cart'
  • 感谢您的帮助,但我需要一些其他代码。我已经改变了我的问题以反映这一点。我仍然会投票给你,因为这段代码确实可以满足我之前的要求。
【解决方案2】:

将此代码放入functions.php 文件中。

add_action( 'wp_footer', 'trigger_for_ajax_add_to_cart' );
function trigger_for_ajax_add_to_cart() {
    ?>
        <script type="text/javascript">
            (function($){
                $('body').on( 'added_to_cart', function(){
                    //do some code
                });
            })(jQuery);
        </script>
    <?php
} ?>

【讨论】:

  • 感谢您的帮助,但我需要一些其他代码。我已经改变了我的问题以反映这一点。我仍然会投票给你,因为这段代码确实可以满足我之前的要求。
  • 您希望在购物车中添加产品后触发该事件吗?
  • 我认为这可行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 2020-04-05
  • 1970-01-01
  • 2016-12-16
  • 2014-10-30
相关资源
最近更新 更多