في عام 2012، ووردبريس الإصدار 3.4 خاصيةً تُمكّن المطورين من التحقق مما إذا كان الزائر يستخدم جهازًا محمولًا. هذه الخاصية، المسماة wp_is_mobile()، طُوّرت في وقت كانت فيه معظم الهواتف المحمولة ضعيفة الإمكانيات، وكانت أحجام شاشاتها صغيرة مقارنةً بمعايير اليوم.
لكن الآن بعد أن تجاوز استخدام الهاتف المحمول تصفح سطح المكتب وأصبحت الهواتف الذكية تنافس أجهزة الكمبيوتر المحمولة في القوة، يطرح ذلك سؤالاً وجيهاً - هل لا تزال wp_is_mobile() مفيدة أم أنها أصبحت قديمة؟
دعونا نستكشف ما تفعله هذه الوظيفة، ومتى يتم استخدامها، وأين تكمن أوجه قصورها، وما إذا كان ينبغي أن تظل جزءًا من تطوير ووردبريس .
ما هي الدالة wp_is_mobile() وماذا تفعل؟
الدالة wp_is_mobile() هي دالة مدمجة في ووردبريس تُرجع القيمة "صحيح" إذا كان زائر الموقع يستخدم جهازًا محمولًا. تتحقق هذه الدالة من سلسلة وكيل المستخدم التي يرسلها متصفح الزائر لتحديد ما إذا كان الطلب قادمًا من هاتف ذكي أو جهاز لوحي.
لا تُميّز هذه الدالة بين الهواتف والأجهزة اللوحية، ولا تُحلّل حجم الشاشة أو اتجاهها. بل تعتمد على وجود كلمات مفتاحية في مُعرّف المتصفح لاتخاذ قرارها. إذا احتوى مُعرّف المتصفح على مؤشرات لجهاز جوال، تُرجع الدالة القيمة "صحيح"؛ وإلا، تُرجع القيمة "خطأ".
هل تحتاج إلى مساعدة خبير في تحسين موقع ووردبريس للأجهزة المحمولة؟
يقوم فريقنا ببناء حلول ووردبريس مخصصة تتكيف بسلاسة مع أجهزة المستخدمين، وتحسن الأداء، وتتوسع بما يتناسب مع أهداف عملك.
لماذا تم طرحه؟
عندما أضافت ووردبريس هذه الميزة، كان تصميم المواقع الإلكترونية المتجاوبة في بداياته. كان المطورون يُنشئون نسخًا منفصلة للمواقع الإلكترونية على الهواتف المحمولة، ويبذلون جهدًا كبيرًا لتقليل استهلاك البيانات لمستخدمي الهواتف. ونظرًا لمحدودية النطاق الترددي وضعف أداء الأجهزة، أصبحت عملية التحسين أولوية قصوى.
كانت الفكرة بسيطة - السماح للمطورين بإظهار أو إخفاء المحتوى بشكل مشروط بناءً على ما إذا كان الزائر يستخدم جهازًا محمولًا أم لا.
كيف تعمل الدالة wp_is_mobile()؟
إليك مثال أساسي لكيفية استخدام هذه الدالة داخل ملف قالب PHP:
<?php if ( wp_is_mobile() ) { ?><p style=";text-align:right;direction:rtl">هذا المحتوى مخصص للأجهزة المحمولة.</p><?php } else { ?><p style=";text-align:right;direction:rtl"> هذا المحتوى مخصص لمستخدمي أجهزة الكمبيوتر المكتبية.</p><?php } ?>
تُخرج هذه الشفرة محتوى HTML مختلفًا بناءً على جهاز الزائر. وهي مفيدة إذا كنت ترغب في تحميل تصميم خفيف الوزن لمستخدمي الهواتف المحمولة أو عرض تعليمات بديلة.
مقارنة بين wp_is_mobile() والتصميم المتجاوب
أكبر عيوب دالة wp_is_mobile() أنها تعمل على جانب الخادم، قبل وقت طويل من استخدام أي CSS أو JavaScript. فهي لا تستطيع تحديد عرض الشاشة أو دقتها، بل تعتمد كلياً على اكتشاف النصوص في متصفح المستخدم.
من ناحية أخرى، استعلامات الوسائط في CSS وتقنيات التصميم المتجاوب الحديثة التكيف مع أبعاد الشاشة الفعلية واتجاهها. فهي تُعدّل تخطيط المحتوى بناءً على المساحة المتاحة، بغض النظر عن نوع الجهاز.
إذا كان هدفك هو مرونة تصميم الصفحة، فإنّ دالة wp_is_mobile() ليست الأداة المثالية. ولكن إذا كنت بحاجة إلى عرض محتوى بديل قبل تحميل الصفحة - خاصةً بناءً على نوع الجهاز - فإنّ هذه الدالة لا تزال مفيدة.
متى يتم استخدام wp_is_mobile()
على الرغم من قدمها، لا تزال هناك العديد من حالات الاستخدام التي يمكن أن تكون فيها الدالة wp_is_mobile() مفيدة:
- تحميل ملفات صور أصغر حجماً للأجهزة المحمولة
- عرض تعليمات أو محتوى مساعدة خاص بالهواتف المحمولة
- إعادة توجيه مستخدمي الهواتف المحمولة إلى صفحات تنزيل التطبيق
- عرض عناوين أو قوائم بديلة لزوار الهواتف المحمولة
- إنشاء رموز مختصرة لتبديل رؤية المحتوى بناءً على نوع الجهاز
يُعدّ هذا مفيدًا بشكل خاص عند استخدامه مع الوظائف المخصصة أو الرموز المختصرة التي تمنح محرري المحتوى مزيدًا من التحكم داخل محرر كتل ووردبريس.
إنشاء رموز مختصرة باستخدام wp_is_mobile()
لمنح المحررين طريقة بسيطة لعرض المحتوى المخصص للهواتف المحمولة أو أجهزة الكمبيوتر المكتبية فقط داخل المنشورات أو الصفحات، يمكنك استخدام هذا الكود في ملف functions.php الخاص بك:
add_shortcode('desktop', 'show_desktop_content'); function show_desktop_content($atts, $content = null){ if ( !wp_is_mobile() ) return do_shortcode( $content ); } add_shortcode('mobile', 'show_mobile_content'); function show_mobile_content($atts, $content = null){ if ( wp_is_mobile() ) return do_shortcode( $content ); }
يمكنك الآن استخدام [mobile]tap[/mobile] و [desktop]click[/desktop] لتخصيص اللغة بناءً على تفاعل الجهاز.
wp_is_mobily() والتخزين المؤقت في ووردبريس
يُعد التخزين المؤقت أحد أكبر التحديات عند استخدام دالة wp_is_mobile() . بما أن الدالة تعمل على الخادم، فقد يتسبب ذلك في مشاكل إذا لم يتم تكوين التخزين المؤقت بشكل صحيح.
إذا تم إنشاء نسخة مخزنة مؤقتًا من الصفحة لمستخدم الهاتف المحمول، فقد يرى جميع الزوار المستقبليين - بما في ذلك مستخدمي أجهزة الكمبيوتر المكتبية - نسخة الهاتف المحمول ما لم يفصل حل التخزين المؤقت الخاص بك المحتوى حسب نوع الجهاز.
لهذا السبب، تقدم بعض شركات استضافة ووردبريس المُدارة خيارات تخزين مؤقت منفصلة للأجهزة المحمولة، بحيث يتم تقديم المحتوى بدقة لكل نوع من أنواع الزوار.
قيود دالة wp_is_mobile()
على الرغم من فائدتها في سياقات محددة، إلا أن الدالة wp_is_mobile() تأتي مع بعض القيود:
- لا يمكن اكتشاف حجم الشاشة أو اتجاهها
- يعامل الأجهزة اللوحية والهواتف بنفس الطريقة
- قد يؤدي ذلك إلى تحديد الأجهزة بشكل خاطئ إذا تم تزييف سلاسل وكيل المستخدم
- لا يأخذ ذلك في الاعتبار الأجهزة الحديثة ذات دقة الشاشة التي تضاهي دقة شاشات أجهزة الكمبيوتر المكتبية
قد يفضل المطورون الذين يعملون على تصميمات متجاوبة متقدمة الاعتماد على استعلامات الوسائط CSS أو اكتشاف الأجهزة المستند إلى JavaScript لمزيد من الدقة.
بدائل لـ wp_is_mobile()
فيما يلي بعض البدائل والتحسينات الحديثة:
- وسائط CSS لتعديلات التخطيط
- مكتبات جافا سكريبت مثل Modernizr لاكتشاف الميزات
- ترميز الصور المتجاوب باستخدام عنصر الصورة
- كتل أو إضافات مشروطة تتحكم في ظهور الكتل بناءً على حجم الشاشة
لتحقيق مرونة في محتوى محرر الكتل، يستخدم الكثيرون إضافات عرض الكتل التي توفر قواعد عرض تعتمد على الجهاز دون الحاجة إلى تعديل كود PHP.
الخاتمة
لا تُعدّ دالة wp_is_mobile() عديمة الفائدة على الإطلاق. فهي تُتيح طريقةً بسيطةً لاكتشاف زوار الموقع عبر الأجهزة المحمولة وتقديم محتوى أو تجارب بديلة من جانب الخادم. ورغم أنها لا تُضاهي دقة التصميم المتجاوب ، إلا أنها لا تزال تُؤدي دورًا مهمًا في الحالات التي يكون فيها اكتشاف الجهاز مبكرًا مفيدًا.
مع ذلك، يُفضّل استخدامه بالتزامن مع طرق أخرى. فالاعتماد على هذه الخاصية وحدها قد لا يُوفّر تجربة دقيقة أو سهلة الاستخدام، خاصةً مع تنوّع الأجهزة المتوفرة اليوم.