لقد تحدثنا بالفعل عن الشحن على أساس الوزن وفي هذا المنشور اكتشفنا كيفية فرض أسعار ثابتة مختلفة بناءً على عتبات وزن الشحن.
ولكن الآن أريد أن أوضح لك كيف يمكنك استخدام “السعر الثابت” الافتراضي لحساب تكاليف الشحن على أساس وزن عربة التسوق ، وذلك بفضل المضاعف. على سبيل المثال ، قد يكون سعر الشحن الخاص بك “5 دولارات لكل كجم” – كما تعلم ، فإن “السعر الثابت” الافتراضي يسمح لك فقط بتحديد سعر واحد على سبيل المثال ، 10 دولارات.
لذا ، ماذا لو كنت تريد حساب مصاريف الشحن بالوزن؟ حسنًا ، إليك حل بسيط لك.
الشحن حسب الوزن: أولاً وقبل كل شيء ، أنشئ “سعرًا ثابتًا” جديدًا بتكلفة = 0 واحصل على المعرف الخاص به
مقتطف PHP: حوّل السعر الثابت إلى معدل شحن مضاعف للوزن
قبل الدخول في البرمجة ، عليك أولاً ببعض الملاحظات. لن يعمل المقتطف التالي إلا إذا :
أدخل الوزن لكل منتج في متجرك
أنشئ سعرًا ثابتًا واحصل على معرفه (“84” في المثال أدناه)
حدد صيغة الشحن حسب الوزن (5 دولارات مضروبة في الكيلوجرامات المستديرة في المثال أدناه. سيعيد مقتطفي 5 دولارات إذا كان وزن العربة 1.4 كجم ، و 10 دولارات أمريكية إذا كان وزن العربة 1.6 كجم ، و 15 دولارًا إذا كان وزن العربة 3.1 كجم وهكذا … اضبط على النحو حسب مواصفات مشروعك)
قد لا يعمل المقتطف التالي بشكل كامل إذا كان السعر الثابت خاضعًا للضريبة وإذا تم تمكين الضريبة في متجرك. قد يحتاج إلى القليل من التعديل لجعله يعمل.
تأكد أيضًا من إفراغ سلة التسوق الخاصة بك قبل الاختبار – في كل مرة تعمل فيها مع أسعار الشحن ، تحتاج إلى مسح “الجلسة” ويجب أن يؤدي إفراغ سلة التسوق إلى تشغيل ذلك تلقائيًا.
/**
* @snippet Flat Rate = Shipping by Weight
* @how-to Get CustomizeWoo.com FREE
* @sourcecode https://businessbloomer.com/?p=114302
* @author Rodolfo Melogli
* @compatible WooCommerce 3.5.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_package_rates', 'bbloomer_woocommerce_tiered_shipping', 999, 2 );
function bbloomer_woocommerce_tiered_shipping( $rates, $package ) {
$cart_weight = WC()->cart->cart_contents_weight;
if ( isset( $rates['flat_rate:84'] ) ) {
$rates['flat_rate:84']->cost = 5 * round ( $cart_weight );
}
return $rates;
}
المنشورات ذات الصلة:
WooCommerce: إخفاء أسعار الشحن في حالة توفر الشحن المجاني
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: أضف نصًا أسفل كل صفحة متجر في كل منتج
WooCommerce: أضف إشعارات الشحن على صفحة الخروج
WooCommerce: تم فتح “الشحن إلى عنوان مختلف” افتراضيًا
WooCommerce: أضف رسوم الشحن للدول غير القارية
WooCommerce: إخفاء سعر الشحن إذا كانت فئة الشحن @ سلة التسوق
WooCommerce: أضف حقل رقم المنزل @ Checkout
WooCommerce: أسعار الشحن حسب مبلغ الطلب
WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

