تحويل لغة WPML حسب دولة الشحن في WooCommerce
في عصر التجارة الإلكترونية، تزداد أهمية توفير تجربة تسوق سلسة تضمن راحة العملاء، خاصة عند التعامل مع مواقع مثل WooCommerce. مع الاستخدام المتزايد للإضافات متعددة اللغات مثل WPML، قد يتساءل العديد من أصحاب المتاجر عن كيفية ضبط لغة الموقع بناءً على دولة التسليم. ستتناول هذه المقالة كيفية التبديل بين لغات WPML اعتمادًا على بلد التسليم خلال عملية الدفع في WooCommerce.
فهم ضرورة تغيير اللغة وفقاً لبلد التسليم
عدد كبير من المتاجر الإلكترونية تستهدف عملاء من مختلف البلدان. لكن من المهم أن تكون تجربة التسوق متناسبة مع لغة العميل المحلية. على سبيل المثال، إذا كان العميل في بلد غير تابع للاتحاد الأوروبي، فمن الجيد أن نطلب منه تغيير اللغة إلى الإنجليزية، خاصة إذا كانت العملة المستخدمة في الدفع هي الدولار الأمريكي.
تنفيذ الحل في WooCommerce
يمكن استخدام كود بسيط لتنبيه العملاء عندما يحاولون الشراء من دولة غير أوروبية بلغة غير مناسبة. إليك كيفية عمله:
-
تحديد الدول الأوروبية: يجب أولاً تحديد الدول التي تعتبر جزءًا من الاتحاد الأوروبي. يمكن تضمين جميع مدن الاتحاد الأوروبي في متغير مصفوفة.
-
الحصول على دولة الشحن: خلال عملية الدفع، نقوم بالحصول على دولة الشحن المكتوبة من قبل العميل للتحقق مما إذا كانت تنتمي إلى مجموعة الدول الأوروبية أو لا.
- إظهار رسالة خطأ: إذا كانت دولة الشحن غير أوروبية، يمكن إظهار رسالة تنبه العميل بأنه يتعين عليه تغيير اللغة إلى الإنجليزية، مع وصف واضح للأهمية وأن معالجة الطلب تكون بالدولار الأمريكي.
الكود البرمجي لتطبيق الحل
إليك الكود الذي يمكنك استخدامه لتحقيق ذلك:
add_action('woocommerce_checkout_process', 'validate_non_eu_shipping_country');
function validate_non_eu_shipping_country() {
// تحديد الدول الأوروبية
$eu_countries = ['AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'];
// الحصول على دولة الشحن من بيانات الدفع
$shipping_country = WC()->customer->get_shipping_country();
$current_language = ICL_LANGUAGE_CODE;
// تعريف رسالة الخطأ
$error_message = __('الطلبات من الدول غير الأوروبية يجب معالجتها بالدولار الأمريكي، يرجى الضغط على 🇺🇸 في القائمة', 'your-text-domain');
// إضافة تنسيق للدلالة على الرسالة
$styled_message = "" . $error_message . '';
// تحقق مما إذا كانت دولة الشحن غير أوروبية واللغة الحالية ليست الإنجليزية
if ($shipping_country && !in_array($shipping_country, $eu_countries) && $current_language !== 'en-US') {
// حفظ محتويات السلة لاستعادتها بعد التوجيه
WC()->session->set('redirect_cart', WC()->cart->get_cart());
// إضافة إشعار خطأ
wc_add_notice($styled_message, 'error');
}
}
تجربتك مع تعديل اللغة وفقاً لدولة التسليم
بهذا الشكل، يمكنك التأكد من أن العملاء الذين يقومون بشراء منتجاتك من دول غير أوروبية يحصلون على تنبيه بشكل فعال لتغيير اللغة إلى الإنجليزية، وهذا يساعد على تقليل الالتباس وضمان معالجة الطلب بشكل أكثر سلاسة.
في الختام، يعد التبديل بين اللغات حسب بلد التسليم في WooCommerce أمرًا مهمًا لتحسين تجربة العملاء. من خلال تطبيق الحلول المذكورة أعلاه، يمكنك ضمان أن عملائك سيستمتعون بتجربة تسوق توافق احتياجاتهم اللغوية. إذا كنت ترغب في تحسين تجربتك في الإعدادات متعددة اللغات، فلا تتردد في تجربة هذا الكود والتأكد من تقديم أفضل خدمة ممكنة لعملائك.