كيفية تقسيم عناصر عربة التسوق بنفس الترتيب على WooCommerce (بالفيديو)

نشرت: 2022-02-09
Split cart items

آخر تحديث - 4 مايو 2022

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

سيناريوهات مختلفة حيث تحتاج إلى تقسيم عربة التسوق

هناك سيناريوهات مختلفة حيث تريد تقسيم سلة التسوق بنفس الترتيب وتوفير طرق شحن مختلفة للعملاء. فيما يلي نظرة على بعض هذه:

عندما يكون لديك مستودعات متعددة

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

شحن المنتجات الثقيلة مع المنتجات العادية

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

شحن مجاني فقط لفئة شحن معينة

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

التعامل مع منتجات البيك اب فقط

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

خيارات الشحن المتقدمة لـ WooCommerce

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

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

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

سمات

فيما يلي نظرة على بعض الميزات المفيدة لهذا المكون الإضافي:

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

سيكلفك اشتراك الموقع الفردي في المكون الإضافي 49 دولارًا.

كيفية تقسيم عربة التسوق باستخدام البرنامج المساعد شروط الشحن المتقدم؟

يمكنك إعداد حزم شحن متعددة في متجرك باتباع الخطوات التالية:

1: شراء البرنامج المساعد. قم بتثبيته وتنشيطه.

2: قم بتمكين المكون الإضافي من صفحة الإعدادات وإضافة حزمة شحن.

تقسيم عناصر سلة التسوق بنفس الترتيب
بمجرد تمكين المكون الإضافي ، يمكنك إنشاء حزمة شحن جديدة.

3. تحديد المنتجات المدرجة في حزمة الشحن.

تقسيم عناصر سلة التسوق بنفس الترتيب
يمكنك اختيار المنتجات بناءً على شروط مختلفة.

4. حدد ترتيب تطبيق حزم الشحن عند إنشاء طرود شحن متعددة.

تقسيم عناصر سلة التسوق بنفس الترتيب
يمكنك ببساطة السحب والإفلات لتعيين أولوية تطبيق حزم الشحن.

5. سيرى العملاء عربة مقسمة عند إضافة منتجات من حزم شحن متعددة.

تقسيم عناصر سلة التسوق بنفس الترتيب
ستعرض العربة حزمًا متعددة حسب الإعدادات.

يرجى ملاحظة ما يلي: المنتجات التي لا تنتمي إلى أي عبوات شحن ستكون ضمن خيار "الشحن" الافتراضي معًا.

عربة تقسيم في أسواق متعددة البائعين

سيناريو آخر حيث ترى عربة التسوق المقسمة بالترتيب نفسه في المتاجر التي بها بائعون متعددون. إذا كنت تدير متجرًا مع بائعين متعددين ، فقد ترغب في معرفة كيفية تطبيق طرق الشحن بشكل انتقائي.

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

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

كما تعلم ، يمكنك استخدام أسعار الشحن في الوقت الفعلي من خلال دمج شركات الشحن الشهيرة في متجر WooCommerce. يعد ELEX أحد المطورين المشهورين الذين يمتلكون العديد من المكونات الإضافية التي ستساعدك على دمج شركات الشحن الشهيرة مثل USPS و FedEx و UPS وما إلى ذلك. ولكن ، كيف ستقسّم عربة التسوق وتوفر المرونة لكل بائع لتعيين أسعاره في الوقت الفعلي القابلة للتطبيق ؟

يمكنك استخدام مقتطف الشفرة أدناه لتزويد العملاء بخيار اختيار خيار شحن مختلف لكل حزمة. سيتم تقسيم عناصر عربة التسوق من نفس الطلب وشحنها عبر طرق شحن متعددة.

إذا كنت تريد عرض اسم بائع معين ، فيمكنك استخدام الخطاف في قالب cart-shipping.php ثم استبدال اسم البائع بدلاً من طريقة الترقيم العشوائية.

define("PV_ATTRIBUTE", "vendor");
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
/**
* Check if WooCommerce is active
*/
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
if ( ! class_exists( 'TH_Shipping_Options' ) ) {
class TH_Shipping_Options {
/**
* Constructor for your shipping class
*
* @access public
* @return void
*/
public function __construct() {
// take care of anything else that needs to be done immediately upon plugin instantiation, here in the constructor.
add_filter( 'woocommerce_cart_shipping_packages', array( &$this, 'th_woocommerce_cart_shipping_packages') );
// Overriding template to introduce vendor names along with standard labels across shipping packages.
//add_filter( 'woocommerce_locate_template', array( $this, 'th_woocommerce_locate_template' ), 10, 3 );
}
function th_woocommerce_locate_template( $template, $template_name, $template_path ) {
if('cart/cart-shipping.php' == $template_name)
{
$path = plugin_dir_path( __FILE__ ) . '/woocommerce/templates/' . $template_name;
return file_exists( $path ) ? $path : $template;
}
return $template;
}
function th_woocommerce_cart_shipping_packages( $packages ) {
// Reset the packages
$packages = array();
$vendor_items_map = array();
foreach ( WC()->cart->get_cart() as $item ) {
$product_id = $item['product_id'];
$vendors = get_product_vendors( $product_id );
if ( $item['data']->needs_shipping() ) {
if($vendors) {
foreach( $vendors as $vendor ) {
// Expecting/assuming there is only one Vendor assigned per product. Hm.
$vendor_items_map[$vendor->ID][] = $item;
break;
}
}
// No product vendor associated with item.
else {
$vendor_items_map['0'][] = $item;
}
}
}
foreach($vendor_items_map as $key => $vendor_items) {
$packages[] = array(
//'ship_via' => array( 'flat_rate' ),
'contents' => $vendor_items,
'contents_cost' => array_sum( wp_list_pluck( $vendor_items, 'line_total' ) ),
'applied_coupons' => WC()->cart->applied_coupons,
'destination' => array(
'country' => WC()->customer->get_shipping_country(),
'state' => WC()->customer->get_shipping_state(),
'postcode' => WC()->customer->get_shipping_postcode(),
'city' => WC()->customer->get_shipping_city(),
'address' => WC()->customer->get_shipping_address(),
'address_2' => WC()->customer->get_shipping_address_2()
)
);
}
return $packages;
}
}
// finally instantiate our plugin class and add it to the set of globals
$GLOBALS['th_shipping_options_init'] = new TH_Shipping_Options();
}
// Start up this plugin
add_action( 'init', 'TH_Shipping_Options' );
function TH_Shipping_Options() {
global $TH_Shipping_Options;
$TH_Shipping_Options = new TH_Shipping_Options();
}
}

دعم البائعين المتعددين لملحقات ELEX

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

تقسيم عناصر سلة التسوق بنفس الترتيب
ستعرض عربة الانقسام أسعار الشحن الخاصة بالمورد عندما تكون منتجات البائعين متعددين في سلة التسوق.

سمات

إليك نظرة سريعة على كل ما يمكنك فعله باستخدام هذا المكون الإضافي:

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

ستكلفك هذه الإضافة 49 دولارًا للاشتراك في موقع واحد. يرجى ملاحظة أن هذه الوظيفة الإضافية ستعمل فقط عندما يكون لديك مكون إضافي من ELEX في بيئة متعددة البائعين.

تقسيم العربة إلى عناوين شحن متعددة

الآن ، هناك سيناريو آخر يتم فيه تقسيم سلة التسوق بنفس الترتيب وهو عندما يرغب العملاء في إرسال المنتجات في طلب إلى عناوين متعددة. يعد هذا مصدر قلق شائع خلال موسم العطلات عندما يرغب العملاء في إرسال هدايا إلى الأصدقاء والعائلة. لذلك ، إذا كنت تقدم خيارًا لإرسال العناصر بالترتيب نفسه إلى مواقع متعددة ، فقد تعمل على تحسين تجربة العملاء بشكل كبير. دعونا نرى كيف يمكنك إدارة هذا:

شحن عناوين متعددة

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

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

سمات

فيما يلي الميزات البارزة لهذا المكون الإضافي:

  • وفر خيارًا لعملائك للشحن إلى مواقع متعددة باستخدام عملية دفع واحدة.
  • عربات مكررة لإرسالها إلى مواقع متعددة.
  • اسمح للعملاء بحفظ عناوين متعددة
  • لا توجد حدود في عدد العناصر أو العناوين في الطلب.
  • استبعاد المنتجات أو الفئات من عناوين متعددة للشحن.
  • خيار لإرسال رسائل البريد الإلكتروني الخاصة بالحالة للطلبات المكتملة جزئيًا.
  • يدعم جميع طرق شحن WooCommerce.

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

تحقق من الفيديو أدناه:

قراءة متعمقة

  • أفضل ملحقات الشحن لـ WooCommerce
  • كيفية إنشاء سوق متعدد البائعين لـ WooCommerce.
  • كيفية تخصيص صفحة WooCommerce Cart؟
  • كيفية ضبط قيود سلة التسوق في WooCommerce؟