[WooCommerce] Hiển thị giá khác nhau dựa trên khu vực mua sắm

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài [WooCommerce] Hiển thị giá khác nhau dựa trên khu vực mua sắm

Bạn muốn hiển thị các mức giá khác nhau tùy thuộc vào quốc gia mà khách hàng của bạn đang sống. Đây là một chức năng rất quan trọng, nếu phải kể cả thuế suất, hoặc phí xuất khẩu.

Trong bài này, bạn sẽ học cách có thể hiển thị một mức giá khác cho sản phẩm của mình, tùy thuộc vào nơi khách hàng mua sắm. Đoạn mã sau sẽ hiển thị thêm một trường giá tùy chỉnh mới.

 add_action( 'woocommerce_product_options_pricing', 'tl_add_can_price_box' ); function tl_add_can_price_box() { woocommerce_wp_text_input( array( 'can_price', 'wc_input_price_extra_info short', 'label' => __( 'Price in Canadian , 'woocommerce' ) ) ); }  

Bạn cần lưu lại trường này, khi cập nhật sản phẩm.

 // This one is for saving above fields add_action('woocommerce_process_product_meta', 'tl_save_can_price', 2, 2); function tl_save_can_price($post_id, $post) { update_post_meta($post_id, 'can_price', stripslashes($_POST['can_price'])); }  

Tiếp đến, mình sẽ thêm chức năng kiểm tra quốc gia của khách hàng và thêm điều kiện hiển thị giá mặc định hoặc giá tùy chỉnh.

 // Here is the logic for price if(!is_admin()) { add_filter( 'woocommerce_get_price', 'change_price', 10, 2 ); function change_price($price, $product) { global $woocommerce; $customer_country = $woocommerce->customer->get_country(); if($customer_country == "CA") { return get_post_meta($product->id, 'can_price', true); } else { return $price; } } }  

Nếu bạn có nhiều quốc gia có mức giá tùy chỉnh, bạn cũng có thể thêm một quốc gia khác trong điều kiện của mình:

 // Here is the logic for price if(!is_admin()) { add_filter( 'woocommerce_get_price', 'change_price', 10, 2 ); function change_price($price, $product) { global $woocommerce; $customer_country = $woocommerce->customer->get_country(); if($customer_country == "CA") { return get_post_meta($product->id, 'can_price', true); } elseif ($customer_country == "US") { return get_post_meta($product->id, 'us_price', true); } else { return $price; } } }  

Đây là toàn bộ code bạn sẽ thêm nữa tệp functions.php

 add_action( 'woocommerce_product_options_pricing', 'tl_add_can_price_box' ); function tl_add_can_price_box() { woocommerce_wp_text_input( array( 'can_price', 'wc_input_price_extra_info short', 'label' => __( 'Price in Canadian , 'woocommerce' ) ) ); } // This one is for saving above fields add_action('woocommerce_process_product_meta', 'tl_save_can_price', 2, 2); function tl_save_can_price($post_id, $post) { update_post_meta($post_id, 'can_price', stripslashes($_POST['can_price'])); } // Here is the logic for price if(!is_admin()) { add_filter( 'woocommerce_get_price', 'change_price', 10, 2 ); function change_price($price, $product) { global $woocommerce; $customer_country = $woocommerce->customer->get_country(); if($customer_country == "CA") { return get_post_meta($product->id, 'can_price', true); } else { return $price; } } }  

Chúc bạn thành công.

Bài viết [WooCommerce] Hiển thị giá khác nhau dựa trên khu vực mua sắm được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang