ووردبريس

إزالة دولة من الدول المسموح بها عند وجود منتج ب WooCommerce

في عالم التجارة الإلكترونية، تُعتبر منصة WooCommerce واحدة من الأدوات الأكثر شعبية لإنشاء المتاجر الإلكترونية. من المزايا التي توفرها WooCommerce هي إمكانية التحكم في البلدان المسموح لها بالشراء، وهو أمر قد يكون ضروريًا في بعض الحالات. في هذا المقال، سنتناول كيفية إزالة بلد معين من قائمة البلدان المسموح بها عند وجود فئة منتجات محددة في عربة التسوق. هذه العملية قد تكون مفيدة لأسباب تتعلق باللوائح، أو قيود الشحن، أو اعتبارات الأعمال الأخرى.

فهم كيفية إزالة بلد من البلدان المسموح بها

تتم العملية من خلال استخدام الفلاتر التي توفرها WooCommerce، والتي تسمح للمطورين بالتفاعل مع بيانات العربة والعناصر الموجودة فيها. للبدء، نستخدم فلتر woocommerce_countries_allowed_countries، والذي يوفر لنا إمكانية تعديل قائمة البلدان المسموح بها عند التسجيل.

خطوات التنفيذ

لنبدأ بتعريف الفئة التي نريد التحقق منها. يمكن ذلك من خلال استخدام "slug" الفئة الخاصة بنا (مثل "كتب" أو "ألعاب"). وعندما يستخدم الزبون عربة التسوق ويحتوي على منتج ينتمي إلى هذه الفئة، يتوجب علينا إزالة هذا البلد المحدد من قائمة الدول المسموح بها.

التحقق من عربة التسوق

تتضمن الخطوة التالية عملية فحص العربة للتأكد من وجود منتج معين من الفئة المحددة. يمكن استخدام حلقة لتفقد العناصر الموجودة في العربة والتحقق إن كانت تعود للفئة المستهدفة. إذا كانت النتيجة إيجابية، يتم الانتقال إلى خطوة الإزالة.

إزالة البلد المحدد

عندما يتم العثور على منتج من الفئة المستهدفة، نقوم بإزالة هذا البلد من قائمة البلدان المسموح بها. وكود التنفيذ يمكن أن يكون كالتالي:

add_filter('woocommerce_countries_allowed_countries', 'remove_country_for_specific_category');
add_filter('woocommerce_countries_shipping_countries', 'remove_country_for_specific_category');
function remove_country_for_specific_category($countries) {
    $category_slug = 'your-category-slug';  // استبدل بـ slug الفئة المحددة
    $country_to_remove = "US";  // استبدل بـ رمز الدولة المراد إزالتها
    if (is_cart_contains_category($category_slug)) {
        if (isset($countries[$country_to_remove])) {
            unset($countries[$country_to_remove]);
        }
    }
    return $countries;
}
function is_cart_contains_category($category_slug) {
    foreach (WC()->cart->get_cart() as $cart_item) {
        if (has_term($category_slug, 'product_cat', $cart_item['product_id'])) {
            return true;
        }
    }
    return false;
}

استخدام الوظائف بشكل ملائم

من المهم أن يتم إدخال الكود أعلاه في ملف functions.php الخاص بالقالب المستخدم في موقع WooCommerce. بعد ذلك، يكون لديك القدرة على التحكم في الأماكن التي يمكن للزبائن الشراء منها بناءً على الفئة المحددة.

تخصيص المتغيرات حسب احتياجاتك

يمكنك تخصيص كل من $category_slug و$country_to_remove حسب الحاجة، مما يمنحك مزيدًا من التحكم في عرض منتجاتك وتوزيعها. هكذا، يمكنك ضمان عدم شحن منتجات معينة إلى دول محددة تتعارض مع سياساتك التجارية أو القوانين المحلية.

النقاط النهائية

باختصار، يتطلب التحكم في البلدان المسموح بها عند وجود فئة معينة في عربة التسوق فهمًا جيدًا لبرمجة WooCommerce واستخدام الفلاتر بشكل فعّال. يُظهر هذا الكود كيفية إزالة بلد عند وجود منتج محدد في عربة التسوق، مما يساعد على ضمان سلاسة العمليات التجارية وتحقيق الامتثال للقيود الضرورية.

في النهاية، يجب على أصحاب المتاجر الانتباه إلى تفاصيل مثل هذه لضمان تجربة مستخدم سلسة والتأكد من أن الزبائن يتمتعون بالراحة والثقة أثناء التسوق. من خلال تنفيذ ما سبق، يمكنك تحسين تفاعل العملاء مع متجرك وضمان تلبية احتياجات السوق المحددة.

احمد علي

متخصص في مجال تطوير وإدارة المواقع الإلكترونية، يتمتع بخبرة واسعة في التعامل مع منصات إدارة المحتوى، خاصة ووردبريس. يقدم أحمد حلولاً مبتكرة واستراتيجيات فعالة لتحسين أداء المواقع وتطوير تصميماتها بما يتناسب مع احتياجات المستخدمين. كما يتميز بقدرته على تبسيط المفاهيم التقنية وكتابة محتوى تعليمي يساعد الأفراد والشركات على تحسين تواجدهم الرقمي وتحقيق أهدافهم على الإنترنت.
زر الذهاب إلى الأعلى
Don`t copy text!