添加到购物车并重定向到WooCommerce中默认变量产品的结帐

时间:2019-06-23 12:09:30

标签: php wordpress woocommerce

我正在尝试LoicTheAztec的以下代码-Add to cart and redirect to checkout for variable products in WooCommerce

现在,问题出在每当我单击“立即购买”按钮并在“产品”编辑器中设置了默认版本时,该代码都无法正常工作。

在这种情况下,“立即购买” URL变为…/?addtocart = 0&quantity = n

我正在使用的主题-巴塞尔

有解决方案吗?

通过LoicTheAztec尝试了该代码。

''

1 个答案:

答案 0 :(得分:0)

您不需要所有需要添加的按钮,只需将按钮添加到购物车按钮中,然后进行重定向

已通过测试并与我合作

 add_action( 'woocommerce_single_variation', 'second_button_single_variation', 30 );
   function second_button_single_variation() {
    global $product;

echo '<form method="post">
    <button type="submit" name="checkout_now" id="checkout_now" class="single_add_to_cart_button button alt buy_now_button" value="'.$product->get_id().'">Buy Now</button></form>';
  }

  function woo_redirect_to_checkout() {
global $woocommerce;
  if( isset($_POST['checkout_now']) ){
 wc_clear_notices();
    $checkout_url = $woocommerce->cart->get_checkout_url();
 wp_redirect($checkout_url);
  }
 }
    add_filter ('add_to_cart_redirect', 'woo_redirect_to_checkout');

 // clearing the cart if you want to go to checkout with the desired product only
  add_filter( 'woocommerce_add_to_cart_validation', 'remove_cart_item_before_add_to_cart', 20, 3 );
  function remove_cart_item_before_add_to_cart( $passed, $product_id, $quantity ) {
if( isset($_POST['checkout_now']) ){
 if( ! WC()->cart->is_empty() )
    WC()->cart->empty_cart();
}
return $passed;
  }