Những đoạn mã hữu ích dành cho woocommerce
Khi nói đến việc thiết kế website bán hàng thì không thể không nhắc đến một plugin hỗ trợ rất tốt đó chính là “woocommerce“. Là một plugin nhiều tính năng và dễ dàng dàng sử dụng, tùy chỉnh…Tuy nhiên vẫn còn một số vấn đề mà bạn vẫn còn chưa ưng ý về nó thì dưới đây web Bách Thắng chia sẻ cho các bạn những đoạn mã hữu ích dành cho woocommerce mà bạn nên dùng.
Mục lục nội dung bài viết
- 1 Những đoạn mã hữu ích dành cho woocommerce
- 1.1 Tạo link trực tiếp “Add to cart”
- 1.2 Loại bỏ field “địa chỉ” trong trang thanh toán (checkout)
- 1.3 Thiết lập cho hiển thị số lượng sản phẩm trên một trang
- 1.4 Chèn thông điệp bên trên login / register form
- 1.5 Loại bỏ breadcrumbs
- 1.6 Tự động chuyển đến trang thanh toán (checkout)
- 1.7 Giới hạn gửi hàng đến những quốc gia tự chọn
- 1.8 Thay thế “product already in cart” bằng “add to cart”
- 1.9 Thay giá bằng liên hệ.
- 1.10 BÀI VIẾT CHẮC CHẮN BẠN QUAN TÂM
Những đoạn mã hữu ích dành cho woocommerce
Tạo link trực tiếp “Add to cart”
Thỉnh thoảng các bạn cần cho phép khách hàng chèn sản phẩm vào giỏ hàng chỉ với một cú click chuột trên link. Các bạn chỉ việc chèn ?add-to-cart=974 vào cuối bất kì link nào là được. Trong đó 974 là mã số sán phẩm (product ID)
http: //yoursite.com/checkout/?add-to-cart=974 |
Loại bỏ field “địa chỉ” trong trang thanh toán (checkout)
Nếu mặt hàng mà các bạn bán là các sản phẩm kỹ thuật số (như mã code kích hoạt) thì việc hiển thị những phần địa chỉ thanh toán là hết sức dư thừa. Để loại trừ những field này, các bạn chỉ việc chèn đoạn code bên dưới vào bên trong file functions.php :
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset( $fields [ 'billing' ][ 'billing_first_name' ]); unset( $fields [ 'billing' ][ 'billing_last_name' ]); unset( $fields [ 'billing' ][ 'billing_company' ]); unset( $fields [ 'billing' ][ 'billing_address_1' ]); unset( $fields [ 'billing' ][ 'billing_address_2' ]); unset( $fields [ 'billing' ][ 'billing_city' ]); unset( $fields [ 'billing' ][ 'billing_postcode' ]); unset( $fields [ 'billing' ][ 'billing_country' ]); unset( $fields [ 'billing' ][ 'billing_state' ]); unset( $fields [ 'billing' ][ 'billing_phone' ]); unset( $fields [ 'order' ][ 'order_comments' ]); unset( $fields [ 'billing' ][ 'billing_address_2' ]); unset( $fields [ 'billing' ][ 'billing_postcode' ]); unset( $fields [ 'billing' ][ 'billing_company' ]); unset( $fields [ 'billing' ][ 'billing_last_name' ]); unset( $fields [ 'billing' ][ 'billing_city' ]); return $fields ; } |
Thiết lập cho hiển thị số lượng sản phẩm trên một trang
Nếu bạn muốn hiển thị khoảng 25 sản phẩm trên một trang, thì chèn đoạn code này vào file functions.php.
add_filter( 'loop_shop_per_page' , create_function( '$cols' , 'return 25;' ), 20 ); |
>>>Xem thêm: thiết kế website giá rẻ tại Hà Nội uy tín chất lượng
Chèn thông điệp bên trên login / register form
Nếu bạn muốn chèn chữ hay thông điệp nào bên trên form này, thì chèn code này vào file functions.php
add_action( 'woocommerce_before_customer_login_form' , 'jk_login_message' ); function jk_login_message() { if ( get_option( 'woocommerce_enable_myaccount_registration' ) == 'yes' ) { ?> <div class = "woocommerce-info" > <p><?php _e( 'Returning customers login. New users register for next time so you can:' ); ?></p> <ul> <li><?php _e( 'View your order history' ); ?></li> <li><?php _e( 'Check on your orders' ); ?></li> <li><?php _e( 'Edit your addresses' ); ?></li> <li><?php _e( 'Change your password' ); ?></li> </ul> </div> <?php } } |
Nếu các bạn thấy chức năng này dư thừa thì có thể loại bỏ nó dễ dàng với đoạn code bên dưới.
add_action( 'init' , 'jk_remove_wc_breadcrumbs' ); function jk_remove_wc_breadcrumbs() { remove_action( 'woocommerce_before_main_content' , 'woocommerce_breadcrumb' , 20, 0 ); } |
Tự động chuyển đến trang thanh toán (checkout)
Đoạn code dưới đây sẽ giúp các sản phẩm mà khách hàng chèn vào giỏ hàng sẽ tự động chuyển sang trang thanh toán. Hãy chèn đoạn code này vào file functions.php để sử dụng nó.
function add_to_cart_checkout_redirect() { wp_safe_redirect( get_permalink( get_option( 'woocommerce_checkout_page_id' ) ) ); die (); } add_action( 'woocommerce_add_to_cart' , 'add_to_cart_checkout_redirect' , 16 ); |
Thay thế “hết hàng ” thành “đã bán”
Nếu mặt hàng mà các bạn bán chỉ duy nhất có 1 cái, thì tốt nhất là nên thay thế câu thông báo hết hàng bằng đã bán. Vẫn là chèn vào file functions.php nhé.
add_filter( 'woocommerce_get_availability' , 'availability_filter_func' ); function availability_filter_func( $availability ) { $availability [ 'availability' ] = str_ireplace ( 'Out of stock' , 'Sold' , $availability [ 'availability' ]); return $availability ; } |
Giới hạn gửi hàng đến những quốc gia tự chọn
Đoạn code bên dưới sẽ giúp các bạn chỉ hiển thị những nơi mà các bạn có thể giao sản phẩm đến cho khách hàng, điều này sẽ giúp giảm thiểu những đơn hàng không thể cung cấp.
function woo_override_checkout_fields( $fields ) { $fields [ 'shipping' ][ 'shipping_country' ] = array ( 'type' => 'select' , 'label' => __( 'My New Country List' , 'woocommerce' ), 'options' => array ( 'AU' => 'Australia' ) ); return $fields ; } add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields' ); |
Thay thế “product already in cart” bằng “add to cart”
Việc nhắc nhở khách hàng đã từng chọn sản phẩm nào đó vào giỏ hàng sẽ giúp khách hàng giảm thiểu thời gian click vào những sản phẩm đã mua , từ đó họ sẽ có nhiều thời gian mà coi những sản phẩm khác trên shop của bạn.
>>>Xem thêm: những đoạn mã .htaccess cần thiết cho website wordpress
add_filter( 'woocommerce_product_single_add_to_cart_text' , 'woo_custom_cart_button_text' ); function woo_custom_cart_button_text() { global $woocommerce ; foreach ( $woocommerce ->cart->get_cart() as $cart_item_key => $values ) { $_product = $values [ 'data' ]; if ( get_the_ID() == $_product ->id ) { return __( 'Already in cart - Add Again?' , 'woocommerce' ); } } return __( 'Add to cart' , 'woocommerce' ); } add_filter( 'add_to_cart_text' , 'woo_archive_custom_cart_button_text' ); function woo_archive_custom_cart_button_text() { global $woocommerce ; foreach ( $woocommerce ->cart->get_cart() as $cart_item_key => $values ) { $_product = $values [ 'data' ]; if ( get_the_ID() == $_product ->id ) { return __( 'Already in cart' , 'woocommerce' ); } } return __( 'Add to cart' , 'woocommerce' ); } |
Thay giá bằng liên hệ.
Là một loại hình sản phẩm không để giá và bạn muốn thay vị trí giá bằng chữ liên hệ. Kể cả khi bạn không điền giá hay để giá bằng 0 đồng thì nó sẽ tự động chuyển thành chữ “liên hệ“. Đoạn code dưới đây sẽ giúp bạn điều đó, hãy chèn nó vào file functions.php
function my_wc_custom_get_price_html( $price, $product ) { $price = wc_format_price_range( $regular_price, __( ‘Giá: Liên Hệ’, ‘woocommerce’ ) ); |
Trên đây là Những đoạn mã hữu ích dành cho woocommerce mà mình sưu tầm được để chia sẻ đến các bạn. Hy vọng những đoạn mã này cần thiết với bạn và nó sẽ được sử dụng thường xuyên trong quá trình bạn làm website bán hàng. Chúc các bạn thành công.