Ajax在Woocommerce 2.5.2中添加到购物车问题

时间:2016-02-23 10:43:07

标签: php ajax wordpress woocommerce

我正在使用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添加产品的任何建议。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

添加&#34; ajax_add_to_cart&#34;您的<a>代码

的课程

作为参考,看一下我的单品/ 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>

答案 2 :(得分:0)

您可以通过[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