كيفية إخفاء طرق شحن WooCommerce لشروط معينة
نشرت: 2020-06-15طريقة الشحن هي خدمة ورسوم يراها العميل عند الخروج أثناء شراء أي عنصر. سيكون خيارًا أساسيًا لمتجر التجارة الإلكترونية لتجربة توصيل سلسة .
كحل للتجارة الإلكترونية ، توفر WooCommerce أيضًا طرق شحن مثل الشحن المجاني والسعر الثابت والتوصيل المحلي والتي يمكن إعدادها لمناطق الشحن المختلفة بناءً على المواقع. على سبيل المثال ، يتوفر خيار الشحن المجاني فقط لمجموعة معينة من الرموز البريدية القريبة من موقع المتجر ويتوفر خيار السعر الثابت للجزء الآخر من مناطق التسليم.

يمكن تحقيق خيارات الشحن القائمة على الموقع بسهولة بواسطة المكون الإضافي ولكن في ظروف معينة حيث لا يلعب الموقع دورًا حيويًا ، يصبح من الصعب جدًا على مالكي المتجر تحقيق ذلك. يمكن أن تكون الشروط:
- يجب ألا تتوفر طرق شحن معينة مثل الشحن المجاني إذا كان وزن الطلب أكبر من عدد معين من الأرطال أو الكيلوغرامات.
- يعتمد توفر بعض طرق الشحن أيضًا على عدد الكميات أو سعر الطلب بأكمله. على سبيل المثال ، إذا كان إجمالي الطلب أكثر من 250 دولارًا ، فيجب أن تتوفر طريقة الشحن المجاني فقط ولا ينبغي أن تتوفر أي طرق شحن مدفوعة.
يمكن أن يكون هناك المزيد من هذه الشروط التي تحتاج إلى إظهار طرق الشحن أو إخفاؤها أثناء الخروج ولكن في هذا المنشور سنشرح ما سبق 2. لتحقيق ذلك لمتجر WooCommerce ، يمكنك إضافة مقتطف رمز أو استخدام أي من أسعار الشحن الإضافات المتاحة.
باستخدام مقتطف التعليمات البرمجية
لنأخذ مثالاً على الشرط 1 المذكور أعلاه حيث يجب ألا يكون الشحن المجاني متاحًا إذا كان وزن الطلب أكثر من 5 كجم. يمكنك تحقيق ذلك عن طريق إضافة الكود أدناه في ملف function.php للموضوع النشط حاليًا.
ملاحظة: يمكن الكتابة فوق هذه التغييرات بتحديث السمة الحالية ، لذا يوصى بإنشاء سمة فرعية وإضافة مقتطفات التعليمات البرمجية المطلوبة في ملف function.php للقالب الفرعي. أو يمكنك استخدام البرنامج المساعد Code Snippets لإضافة مقتطفات مخصصة.
/ ** * إخفاء الشحن المجاني عندما يكون وزن الطلب أكثر من 10 كلغ. * *param array $ rate تم العثور على صفيف من الأسعار للحزمة. *return مجموعة * / الدالة ts_hide_free_shipping_for_order_weight (الأسعار بالدولار ، الحزمة بالدولار) { order_weight $ = WC () -> عربة التسوق-> get_cart_contents_weight () ؛ إذا (order_weight $> 5) { foreach (معدلات بالدولار الأمريكي مثل rate_id بالدولار => rate_val بالدولار) { إذا ('free_shipping' === $ rate_val-> get_method_id ()) { unset (معدلات $ [$ rate_id]) ؛ } } } معدلات العودة دولار؛ } add_filter ('woocommerce_package_rates'، 'ts_hide_free_shipping_for_order_weight'، 100، 2) ؛
هنا يتم استخدام مرشح woocommerce_package_rates لتعديل الأسعار المحسوبة في سلة التسوق. يحتوي على جميع أسعار الشحن التي ستكون متاحة بمجرد إضافة المنتج إلى سلة التسوق. لذلك ، نحتاج إلى إلغاء ضبط طريقة الشحن المطلوبة والتي ستكون الشحن المجاني في حالتنا من المصفوفة المرتجعة من هذا الفلتر إذا كان وزن الطلب أكثر من 5 كجم.
صفحة المنتج:

صفحة عربة التسوق مع طرق الشحن:

هناك مثال آخر لإخفاء طرق الشحن على WooCommerce Cart سيسمح فقط بالشحن المجاني أثناء الخروج عندما يكون إجمالي الطلب أكثر من 250 دولارًا. يمكن تحقيق ذلك عن طريق إضافة الكود أدناه في ملف jobs.php.
/ ** * إخفاء أسعار الشحن عندما يكون إجمالي الطلب أكثر من 250 دولارًا. * *param array $ rate تم العثور على صفيف من الأسعار للحزمة. *return مجموعة * / الدالة ts_hide_shipping_for_order_total (الأسعار بالدولار) { $ مجاني = مجموعة () ؛ order_total = WC () -> عربة التسوق-> get_subtotal () ؛ إذا ($ order_total> 250) { foreach (معدلات بالدولار الأمريكي مثل rate_id بالدولار => السعر بالدولار) { إذا ('free_shipping' === $ rate-> get_method_id ()) { $ free [$ rate_id] = السعر بالدولار ؛ } } } إرجاع ! فارغ ($ مجاني)؟ مجانا $: معدلات دولار؛ } add_filter ('woocommerce_package_rates'، 'ts_hide_shipping_for_order_total'، 100) ؛
هنا ، عندما يكون إجمالي الطلب أكثر من 250 دولارًا ، يتم إرجاع مصفوفة ذات طرق شحن مجانية فقط من الفلتر وإلا يتم إرجاع جميع أسعار الشحن.


في الأمثلة المذكورة أعلاه ، أخذنا مرجع طريقة الشحن المجاني ، وبالتالي فإن معرف الطريقة المستخدمة هو free_shipping. لتغيير طرق الشحن الأخرى ، تكون معرّفات الطريقة:
الاستلام المحلي: local_pickup
السعر الثابت : flat_rate
تجلب وظيفة get_method_id () معرّف الطريقة فقط للطرق الثلاثة لجميع مناطق الشحن وليس لطريقة فردية لمنطقة شحن واحدة ، لذلك ستخفي جميع الأسعار الثابتة أو طرق الاستلام المحلية أو طرق الشحن المجانية المتاحة أثناء الخروج. ولكن إذا كنت تريد إخفاء طريقة شحن معينة ، فيجب استخدام مزيج من معرف طريقة الشحن ومعرف المثيل.
على سبيل المثال ، "flat_rate: 3" حيث 3 هو معرف المثيل الفريد المخزن لكل طريقة شحن لمنطقة في قاعدة البيانات. يمكنك العثور على معرف المثيل لطريقة الشحن عن طريق النقر بزر الماوس الأيمن على طريقة الشحن وفحص العنصر في أداة المطور في متصفحك.
استخدام امتدادات WooCommerce مختلفة لطرق الشحن
هناك العديد من الإضافات المدفوعة أو المجانية المتاحة لإعداد طرق الشحن لظروف مختلفة. بعض المكونات الإضافية الأكثر استخدامًا هي:
الإضافات المدفوعة:
- جدول أسعار الشحن بواسطة WooCommerce : يعمل هذا المكون الإضافي على توسيع خيارات الشحن الافتراضية لـ WooCommerce مما يمنحك خيارات شحن قابلة للتخصيص بدرجة كبيرة.
- البرنامج المساعد المتقدم لشحن الأسعار الثابتة لـ WooCommerce : سيساعدك هذا البرنامج المساعد في تكوين أسعار الشحن في متجرك بناءً على قواعد الشحن المتقدمة.
- المكون الإضافي WooCommerce Advance Shipping بواسطة Jeroen sormani : يتيح لك هذا المكون الإضافي تمكين طرق الشحن أثناء الخروج بناءً على القواعد المحددة. يمكن تعيين القواعد لتفاصيل سلة التسوق المختلفة أو تفاصيل المنتج أو تفاصيل المستخدم المختلفة .
- Flexible Shipping Pro لـ WooCommerce by WP Desk : يتيح لك هذا المكون الإضافي تمكين طريقة الشحن بناءً على عنصر معين أو عنصر سطر سلة التسوق أو السعر أو قواعد الوزن .
الإضافات المجانية:
تحتوي بعض المكونات الإضافية المذكورة أعلاه أيضًا على إصدار مجاني لها مع ميزات محدودة. هم انهم:
- WooCommerce Advanced Free Shipping بواسطة Jeroen Sormani: هذه نسخة مجانية من البرنامج المساعد WooCommerce Advanced Shipping. الاختلاف الوحيد مع كلا المكونين الإضافيين هو أن هذا البرنامج المساعد يسمح فقط بطريقة الشحن المجاني للقواعد المحددة والمكوِّن الإضافي المدفوع يسمح بجميع طرق الشحن.
- شحن مرن لـ WooCommerce بواسطة WP Desk : هذه نسخة مجانية من Flexible Shipping Pro للمكوِّن الإضافي WooCommerce. يسمح بتحديد طرق الشحن للسعر والوزن فقط.
للحصول على شرح تفصيلي للمكونات الإضافية المذكورة أعلاه ، يمكنك التحقق من هذا المنشور.
استنتاج
كما رأينا في هذا المنشور ، يمكن تحقيق خيارات الشحن المتقدمة ببساطة عن طريق إضافة مقتطف رمز على موقع الويب الخاص بك أو باستخدام العديد من المكونات الإضافية المتاحة. لذلك يمكنك تجربة مقتطف الشفرة المحدد أو تجربة أي من المكونات الإضافية وإعلامنا بما إذا كان هذا مفيدًا لمتجر WooCommerce.