当前位置: 首页 > 知识库问答 >
问题:

在Woocommerce单品页面上,一旦将产品添加到购物车中,就激活一个自定义按钮

仲元凯
2023-03-14

在Woocommerce single product pages中,我使用Woocommerce_after_add_to_cart钩子添加了一个自定义按钮。当点击/按下该按钮时,该按钮将重新引导客户到结账处。

下面是我的完整代码:

add_action('woocommerce_after_add_to_cart_button, 'instant_checkout');
function instant_checkout() {
$checkout_url = WC()->cart->get_checkout_url();
if ( WC()->cart->get_cart_contents_count() != 0 ) {
echo '<a href="'.$checkout_url.'" class="single_add_to_cart_button button alt">Instant Checkout</a>'; } }

谢谢你在这方面的帮助。

共有1个答案

苏彦君
2023-03-14

以下将显示“添加到购物车”按钮后的自定义禁用按钮…当产品将添加到购物车时,产品将被启用并链接到签出页面:

add_action('woocommerce_after_add_to_cart_button', 'get_instant_checkout_buttom_html');
function get_instant_checkout_buttom_html() {
    global $product;

    $href = ''; // Initializing
    $class = ' disabled'; // Initializing

    // Continue only if cart is not empty
    if ( ! WC()->cart->is_empty() ) {
        // Loop through cart items
        foreach( WC()->cart->get_cart() as $item ) {
            // When product is in cart
            if( $item['product_id'] == $product->get_id() ){
                $href  = ' href="'.wc_get_checkout_url().'"'; // Add the link to the button
                $class = ''; // Remove "disabled" class
                break; // Stop the loop
            }
        }
    }
    // Button output
    echo '<a'.$href.' class="single_add_to_cart_button button alt'.$class.'">'.__("Instant Checkout").'</a>';
}

代码放在您的活动子主题(活动主题)的function.php文件中。经过测试并起作用。

 类似资料: