Cách ẩn / hiện sản phẩm WooCommerce từ 1 quốc gia cụ thể

Trong bài viết trước tôi có giới thiệu về tính năng và có 1 số độc giả có nhắn tin hỏi cách để ẩn hoặc hiển thị sản phẩm cho người dùng từ một số quốc gia nên trong bài ngắn hôm nay là 1 cách ứng dụng code hôm trước và sử dụng filter hook WooCommerce để ẩn hoặc hiện sản phẩm tuý ý.

Nhờ có filter hook woocommerce_product_is_visible mà bạn có thể tạo ra một số sản phẩm phụ thuộc vào địa lý.

Ví dụ như sau: Ẩn các sản phẩm có ID là 1234 nếu khách đến từ Mỹ

add_filter( 'woocommerce_product_is_visible', 'vts_show_product_via_country', 25, 2 );
function vts_show_product_via_country( $visible, $product_id ){
   $location = WC_Geolocation::geolocate_ip();
   if ( 'US' === $location[ 'country' ] && 1234 === $product_id ) {
      $visible = false;
   }
   return $visible;
}

Tất nhiên ở trên là 1 ví dụ cơ bản để bạn hiểu các sử dụng, còn không ai viết code cứng với ID sản phẩm như trên mà nó phải tuỳ vào điều kiện cụ thể để set cho phù hợp, bạn có thể kết hợp với ACF hoặc các yêu cầu để code cho phù hợp với ý của khách hàng yêu cầu.

Lưu ý ở trên bạn có thể lấy Country Codes ở link sau https://www.geonames.org/countries/

Hy vọng bài viết ngắn sẽ giúp ích cho nhiều người.

Từ khóa
user

Yêu thích Võ thuật và Công nghệ thông tin, thích viết và chia sẽ về 2 lĩnh vực này thế thôi :D

Bài viết liên quan