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.
Ư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