هناك العديد من المكونات الإضافية التي تسمح لك بالقيام بذلك بشكل مجمّع أو من شأنها أن تمنحك ميزات متقدمة … ولكن ماذا لو كنت بحاجة فقط لإخفاء معرّف منتج واحد للمستخدمين الذين يزورون موقع WooCommerce الإلكتروني الخاص بك من رمز بلد معين؟
يسمى هذا أيضًا “تحديد الموقع الجغرافي” – تذكر أن هذا لن يعمل إلا إذا قمت بتمكين الموقع الجغرافي داخل إعدادات WooCommerce العامة . بخلاف ذلك ، احصل على معرف المنتج الخاص بك ، واكتشف رمز البلد المستهدف المكون من حرفين ، وسيقوم هذا المقتطف بالخدعة. يتمتع!
دراسة حالة: إخفاء معرّف منتج معين للمستخدمين الموجودين في بلد معين (IT)
مقتطف PHP 1: إخفاء معرّف المنتج استنادًا إلى الموقع الجغرافي Country @ WooCommerce Shop
في المثال أدناه ، أخفي معرّف المنتج = 344 إذا كان الزائر الحالي من إيطاليا. قد يمنحك هذا المقتطف PHP مشاكل ترقيم الصفحات في بعض الأحيان – إذا فشل ذلك ، فراجع المقتطف 2 أدناه.
/**
* @snippet Hide Product Based on IP Address
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 4.0
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_product_is_visible', 'bbloomer_hide_product_if_country', 9999, 2 );
function bbloomer_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;
}
PHP Snippet 2 (بديل): إخفاء معرف المنتج بناءً على عنوان IP @ WooCommerce Shop
في هذا المثال ، أخفي المنتجين 21 و 32 إذا كان المستخدم يتصفح من عنوان IP للولايات المتحدة الأمريكية.
/**
* @snippet Hide Product Based on IP Address
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 4.0
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'woocommerce_product_query', 'bbloomer_hide_product_if_country_new', 9999, 2 );
function bbloomer_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 );
}
}
المنشورات ذات الصلة:
WooCommerce: الكشف عن بلد المستخدم الحالي (الموقع الجغرافي)
WooCommerce: استبعد المنتجات المخفية من عداد عربة التسوق الصغيرة
WooCommerce: أضف Upsell Area @ Checkout Page
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

