به طور کلی محصولات ووکامرس برای همه کاربران در سراسر دنیا، قابل نمایش خواهد بود. گاهی اوقات ممکن است محصولاتی در فروشگاه وجود داشته باشند که فقط برای یک کشور یا یک مکان خاص ارائه می‌شوند. ما در این مقاله به شما نحوه مخفی کردن محصولات ووکامرس براساس IP و مکان جغرافیایی را آموزش می‌دهیم.

ترفند مخفی کردن محصولات فروشگاه براساس IP و مکان جغرافیایی
مخفی کردن محصول فروشگاه برای یک کشور خاص (ایتالیا)

بخش اوّل: مخفی‌کردن محصولات براساس مکان جغرافیایی

اگر می‌خواهید یک محصول ووکامرس را براساس مکان جغرافیایی (Geolocate IP) کاربران مخفی کرده و دسترسی آن را محدود کنید، از قطعه کد زیر استفاده کنید. در شرط موجود در تابع تعریف شده، متغیر country$ و product_id$ را براساس کشور و محصول مورد نظر سفارشی‌سازی کنید.

نکته: بهتر است کدها در پوسته فرزند قرار بگیرند. چون با به‌روزرسانی پوسته مادر، ممکن است تغییرات به حالت قبل برگردد.

add_filter( 'woocommerce_product_is_visible', 'tidaweb_hide_product_if_country', 9999, 2 );
 
function tidaweb_hide_product_if_country( $visible, $product_id ){
   $location = WC_Geolocation::geolocate_ip();
   $country = $location['country'];
   if ( $country === "IT" && $product_id === 344 ) {
      $visible = false;
   }
   return $visible;
}

بخش دوّم: مخفی کردن محصولات براساس آدرس IP

اگر می‌خواهید همه محصولات ووکامرس براساس IP مخفی شده و هیچ کاربری به آن دسترسی نداشته باشد، از قطعه کد زیر استفاده کنید. در شرط موجود در تابع تعریف شده، متغیر country$ را براساس کشور و آرایه hide_products$ را براساس محصولات مورد نظر سفارشی‌سازی کنید.

add_action( 'woocommerce_product_query', 'tidaweb_hide_product_if_country_new', 9999, 2 );
 
function tidaweb_hide_product_if_country_new( $q, $query ) {
    if ( is_admin() ) return;
    $location = WC_Geolocation::geolocate_ip();
    $hide_products = array( 21, 32 );   
    $country = $location['country'];   
    if ( $country === "US" ) {
        $q->set( 'post__not_in', $hide_products );
    } 
}

در صورتی که سؤالی دارید، می‌توانید آن را از بخش دیدگاه‌ها با ما در میان بگذارید. همچنین اگر دنبال توابع کاربردی و ترفندهای وردپرس می‌گردید، ترفند وردپرس را مشاهده کنید.

تنظیم وضعیت سفارشی برای سفارشات جدید در ووکامرس

منبع: Business Bloomer

۴.۷/۵ - (۱۱۲ امتیاز)

4 thoughts on “مخفی کردن محصولات ووکامرس براساس IP و مکان جغرافیایی

  1. رضا میگوید:

    سلام ممنون از آموزش خوبتون .
    چطور محدودیت تعداد خرید برای یک کاربر قرار بدیم . مثلا کاربر فقط ۳ محصول بتونه بخره ودیگه اجازه خرید داشته نباشه .

  2. احسان میگوید:

    سلام. میخوام بعضی محصولاتم رو برای استانهای محروم ایران، با تخفیفهای بالاتری نشون بدم، بدون اینکه محصول جدیدی در سایت ثبت کنم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *