添加跳过结帐按钮woocmmerce

时间:2017-05-19 14:55:57

标签: php wordpress woocommerce hook-woocommerce

我想在单个产品页面上添加“添加到购物车”旁边的另一个按钮,该按钮会将产品添加到购物车并将用户带到结帐页面。

如果我将使用

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;
}

这将覆盖添加到购物车按钮,但我希​​望它就像它一样,并希望另一个按钮来完成这项工作?是否可以使用钩子?

1 个答案:

答案 0 :(得分:1)

我通过使用隐藏字段和两个提交按钮解决了它,可能是一个肮脏的方式,但它解决了我的问题。可以使用复选框代替两个按钮*(如果选中复选框转到结帐页面),以更好的方式完成。

MyView

模板部分

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();      
    }
} );

模板包含“跳到结帐”按钮和隐藏字段,您可以使用此功能中的直接html或复选框替换该字段。并且代替variation-skip-to-checkout-button.php 钩子你绝对应该更喜欢woocommerce_variable_skip_to_checkout钩子。