【问题标题】:Ajax add to cart issue in Woocommerce 2.5.2Woocommerce 2.5.2 中的 Ajax 添加到购物车问题
【发布时间】:2016-06-05 03:45:41
【问题描述】:

我正在使用 Woocommerce 并且我已经自定义了我的网站以在表格中显示产品标题,当单击该产品时,产品通过 ajax 放置在 Woocommerce 迷你购物车小部件中,而无需刷新页面。

当我更新到“Woocommerce 2.5.2”时,Ajax 添加到购物车不再起作用并且页面刷新。

我用来添加产品的当前链接是:

$html = $html . '<div class="numlist_thumb"><a data-product_id="' . $id1 . '" data-product_sku="' . $number1 . '" class="numbertabanchor add_to_cart_button dp-button product_type_simple" rel="nofollow" href="/?add-to-cart=' . $id1 . '">' . $number1 . '</a></div>';

对于如何在不刷新页面的情况下通过 ajax 添加产品的任何建议,我将不胜感激。

【问题讨论】:

    标签: php ajax wordpress woocommerce


    【解决方案1】:

    您可以通过[wp_ajax][1] 操作轻松创建添加到购物车功能,在回调函数中您只需添加以下代码

    add_action( "wp_ajax_custom_add_to_cart", "custom_add_to_cart_callback" );
    add_action( "wp_ajax_nopriv_custom_add_to_cart", "custom_add_to_cart_callback" );
    function custom_add_to_cart_callback(){
         global $woocommerce;
         $woocommerce->cart->add_to_cart( $_POST[ 'prod_id' ] );
         wp_die();
    }
    

    在此之后,您可以轻松地对服务器进行 ajax 调用,您将在其中将产品 ID 发布为变量 prod_id 并添加另一个名为 action 的变量,其值为 custom_add_to_cart

    【讨论】:

      【解决方案2】:

      将“ajax_add_to_cart”类添加到您的&lt;a&gt; 标签中

      作为参考,请查看我的 single-product/add-to-cart/simple.php 代码

      <button type="submit" class="single_add_to_cart_button add_to_cart_button button ajax_add_to_cart button--itzel button--text-thick" data-quantity="1" data-product_id="<?php echo $product->id; ?>"><i class="button__icon icon icon-cart"></i><span><?php echo esc_html( $product->single_add_to_cart_text() ); ?></span></button>
      

      【讨论】:

        【解决方案3】:

        这是与 woocommerce 的主题冲突。我也遇到了这个问题。因此,每当 woocommerce 推出任何重大更新时,主题也会根据最新的 woocommerce 进行更新。所以你必须根据woocommerce更新你的主题。

        【讨论】:

        • 谢谢,但主题和插件是最新的。
        猜你喜欢
        • 1970-01-01
        • 2015-08-18
        • 2018-08-26
        • 1970-01-01
        • 1970-01-01
        • 2021-07-26
        • 2013-07-15
        • 2014-02-25
        • 1970-01-01
        相关资源
        最近更新 更多