به طور کلی محصولات ووکامرس برای همه کاربران در سراسر دنیا، قابل نمایش خواهد بود. گاهی اوقات ممکن است محصولاتی در فروشگاه وجود داشته باشند که فقط برای یک کشور یا یک مکان خاص ارائه می‌شوند. ما در این مقاله به شما نحوه مخفی کردن محصولات ووکامرس براساس 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

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

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