我正在尝试LoicTheAztec的以下代码-Add to cart and redirect to checkout for variable products in WooCommerce
现在,问题出在每当我单击“立即购买”按钮并在“产品”编辑器中设置了默认版本时,该代码都无法正常工作。
在这种情况下,“立即购买” URL变为…/?addtocart = 0&quantity = n
我正在使用的主题-巴塞尔
有解决方案吗?
通过LoicTheAztec尝试了该代码。
''
答案 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;
}