添加跳转到结帐按钮 woocommerce
Adding a skip to checkout button woocmmerce
我想在单个产品页面上的 "add to cart" 旁边添加另一个按钮,将产品添加到购物车并将用户带到结帐页面。
如果我会用
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
这将覆盖添加到购物车按钮,但我希望它保持原样并且想要另一个按钮来完成这项工作?可以用钩子吗?
我通过使用隐藏字段和两个提交按钮解决了它,可能是一种肮脏的方式,但它解决了我的问题。可以使用复选框代替两个按钮以更好的方式完成,*(如果选中复选框,请转到结帐页面)。
add_action( 'woocommerce_variable_skip_to_checkout', 'woocommerce_variable_skip_to_checkout', 30 );
if ( ! function_exists( 'woocommerce_variable_skip_to_checkout' ) ) {
function woocommerce_variable_skip_to_checkout() {
wc_get_template( 'single-product/add-to-cart/variation-skip-to-checkout-button.php' );
}
}
add_filter ('woocommerce_add_to_cart_redirect', function() {
if ( isset($_POST['skip_to_checkout']) && $_POST['skip_to_checkout'] == 'true' ){
return WC()->cart->get_checkout_url();
}
} );
模板部分
variation-skip-to-checkout-button.php
模板包含 "skip to checkout" 按钮和一个隐藏字段,您可以在此函数或复选框中直接将其替换为 html。在 woocommerce_variable_skip_to_checkout
钩子的位置,你绝对应该更喜欢 woocommerce_after_add_to_cart_button
钩子。
我想在单个产品页面上的 "add to cart" 旁边添加另一个按钮,将产品添加到购物车并将用户带到结帐页面。
如果我会用
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
这将覆盖添加到购物车按钮,但我希望它保持原样并且想要另一个按钮来完成这项工作?可以用钩子吗?
我通过使用隐藏字段和两个提交按钮解决了它,可能是一种肮脏的方式,但它解决了我的问题。可以使用复选框代替两个按钮以更好的方式完成,*(如果选中复选框,请转到结帐页面)。
add_action( 'woocommerce_variable_skip_to_checkout', 'woocommerce_variable_skip_to_checkout', 30 );
if ( ! function_exists( 'woocommerce_variable_skip_to_checkout' ) ) {
function woocommerce_variable_skip_to_checkout() {
wc_get_template( 'single-product/add-to-cart/variation-skip-to-checkout-button.php' );
}
}
add_filter ('woocommerce_add_to_cart_redirect', function() {
if ( isset($_POST['skip_to_checkout']) && $_POST['skip_to_checkout'] == 'true' ){
return WC()->cart->get_checkout_url();
}
} );
模板部分
variation-skip-to-checkout-button.php
模板包含 "skip to checkout" 按钮和一个隐藏字段,您可以在此函数或复选框中直接将其替换为 html。在 woocommerce_variable_skip_to_checkout
钩子的位置,你绝对应该更喜欢 woocommerce_after_add_to_cart_button
钩子。