ووردبريس

كيفية منع wp_localize_script من إضافة رابط AJAX للمصفوفة

تعتبر إضافة البيانات عبر wp_localize_script في ووردبريس وسيلة فعالة لنقل المعلومات بين PHP وJavaScript. لكن قد يواجه المطورون بعض التحديات عند التعامل مع العناوين متعددة اللغات، خصوصًا عند استخدام أدوات مثل GTranslate. سنستعرض في هذا المقال كيف يمكن منع wp_localize_script من إضافة لغة معينة إلى رابط AJAX، مما يضمن أن يظل هذا الرابط ثابتًا عبر اللغات.

ما هي المشكلة؟

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

https://www.example.com/blogs/wp-admin/admin-ajax.php

لكن عند استخدام النسخة الصينية، يجب أن يبقى الرابط على حاله بدون إضافة /zh-CN/، ليبدو كالتالي:

https://www.example.com/blogs/wp-admin/admin-ajax.php

إضافة الشريحة اللغوية إلى رابط AJAX قد تتسبب في عدم عمل الطلبات بشكل صحيح، مما يؤثر على تجربة المستخدم.

الحلول الممكنة

استخدام admin_url بشكل صحيح

بدأت بتسجيل الرابط باستخدام admin_url للتأكد من أنه يتم إنشاؤه بشكل صحيح:

error_log('ajax url via admin_url: ' . admin_url( 'admin-ajax.php' ));

يبدو أن الرابط يتم تشكيله بشكل صحيح في PHP، ولكن عند الوصول إلى JavaScript، يتغير الرابط.

خطوة الحل الجذري

من المهم أن نفهم أن wp_localize_script يجب أن يتم استدعاؤه في الوقت المناسب، وأن تتم إدارة التحويلات اللغوية بشكل فعال.

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

wp_localize_script($this->plugin_name, 'MyObj', array(
    'ajax_url' => site_url('wp-admin/admin-ajax.php'),
));

لكن، تذكر أنه لا يزال يجب أن نختبر هذه الحالة في جميع اللغات المتاحة.

التعامل مع الرمز في JavaScript

بعد تعيين الرابط في JavaScript، تحقق من الروابط المتحصل عليها:

console.log("Ajax url: ", MyObj.ajax_url);

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

الأساليب البديلة

استكشاف GTranslate

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

ضبط إعدادات ووردبريس

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

الخلاصة

إدارة الروابط في ووردبريس هو جزء أساسي من تطوير الإضافات، وخاصة عند استخدام تعدد اللغات. من خلال فهم كيفية عمل wp_localize_script والإعدادات الملائمة في GTranslate وأدوات مشابهة، يمكنك ضمان أن تظل روابط AJAX ثابتة وغير متأثرة بتنقلات اللغة.

تذكر دائمًا اختبار جميع السيناريوهات الممكنة على مواقعك ولغاتك المختلفة لضمان تجربة مستخدم سلسة.

احمد علي

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