Thêm nút Mua ngay vào Woocommerce một cách đơn giản

Bài viết này mình tham khảo trên blog nguyenvantoan.com và đưa về cho các bạn cùng tham khảo nha. Cám ơn tác giả vì những dòng code hết sức hữu ích với anh em làm website bán hàng sử dụng Woocommerce. Nào, còn chần chờ gì nữa, cùng theme nút “Mua ngay” vào trang chi tiết sản phẩm Woocommerce nha!

Nút mua ngay thực chất có chức năng rất đơn giản, chỉ là click vào thì nó được chuyển hướng tới trang giỏ hàng, đồng thời thêm sản phẩm đã chọn vào giỏ hàng.

Hình ảnh thuộc sở hữu của trang web qnet88.com
Nút mua ngay được thêm ngay bên cạnh nút “Thêm vào giỏ” mặc định

Ưu điểm của đoạn code thêm nút Mua ngay như sau:

  • KHÔNG cần BIẾT CODE vẫn làm ngon lành
  • KHÔNG cần cài thêm plugin
  • Chỉ thêm code vào functions.php
  • Nhẹ nhàng
  • và đặc biệt dùng được cho sản phẩm có biến thể

Cách thêm nút Mua Ngay vào woocommerce

Bạn chỉ cần thêm đoạn code này vào file functions.php trong theme của bạn đang sử dụng. Vậy là xong.

/*
 * Add quickbuy button go to cart after click
 */
add_action('woocommerce_after_add_to_cart_button','devvn_quickbuy_after_addtocart_button');
function devvn_quickbuy_after_addtocart_button(){
    global $product;
    ?>
    <button type="submit" name="add-to-cart" value="<?php echo esc_attr($product->get_id()); ?>" class="single_add_to_cart_button button alt" id="buy_now_button">
        <?php _e('Mua ngay', 'devvn'); ?>
    </button>
    <input type="hidden" name="is_buy_now" id="is_buy_now" value="0" />
    <script>
        jQuery(document).ready(function(){
            jQuery('body').on('click', '#buy_now_button', function(){
                if(jQuery(this).hasClass('disabled')) return;
                var thisParent = jQuery(this).closest('form.cart');
                jQuery('#is_buy_now', thisParent).val('1');
                thisParent.submit();
            });
        });
    </script>
    <?php
}
add_filter('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout($redirect_url) {
    if (isset($_REQUEST['is_buy_now']) && $_REQUEST['is_buy_now']) {
        $redirect_url = wc_get_checkout_url();
    }
    return $redirect_url;
}

Đoạn trên sau khi click vào button Mua Ngay sẽ chuyển hướng tới trang thanh toán. Nếu bạn nào muốn chuyển hướng tới trang giỏ hàng luôn thì sửa dòng 27 như sau:

từ

$redirect_url = wc_get_checkout_url();

thành

$redirect_url = wc_get_cart_url();

Code này đã được test với biến thể mặc định của woo. Còn bạn nào dùng plugin thứ 3 để custom hiển thị biến thể mà bị lỗi thì comment bên dưới nha.

Lời kết

Cám ơn các bạn đã quan tâm theo dõi blog GiuseArt.com trong suốt thời gian qua. Chúc các bạn có những trải nghiệm thú vị khi ghé thăm website nha!

Nguồn : https://giuseart.com

5/5 - (1 bình chọn)
[related_posts_by_tax posts_per_page="6" title="Bài liên quan" taxonomies="category,post_tag"]

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 0974.0707.83(Zalo/Viber)