حمولة زائدة! يقوم موقعك بتحميل مكتبة jQuery مرتين؛ المرة الأولى هي النسخة الرسمية التي يوفرها ووردبريس، والمرة الثانية هي نسخة "متطفلة" أضافتها إضافة (Plugin) قديمة أو قالب غير محترف. النتيجة؟ تحميل بيانات مكررة وتأخير "تفاعل" المستخدم مع الموقع.

لماذا يمثل هذا الأمر خطورة؟

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

  • هدر البيانات: يضطر الزائر لتحميل ~90 كيلوبايت إضافية من ملفات الجافاسكربت في كل صفحة.
  • تعارضات برمجية (JS Conflicts): قد تتوقف القوائم المنسدلة، السلايدر، أو النوافذ المنبثقة عن العمل لأن النسخة الثانية من jQuery قامت بمسح "ذاكرة" النسخة الأولى.
  • تأخر التفاعل (TBT): الملفات المكررة تزيد من زمن معالجة المتصفح للأكواد، مما يجعل الموقع يبدو "متجمداً" لثوانٍ بسيطة عند التحميل.

كيف تكتشف "المذنب"؟

الطريقة 1: أدوات المطور (للتقنيين)

  1. افتح موقعك واضغط (F12) لفتح أدوات المطور.
  2. توجه لتبويب Network ثم اختر JS.
  3. ابحث في خانة البحث عن كلمة "jquery".
  4. إذا وجدت ملفين يحملان نفس الاسم من مسارات مختلفة، انظر لعمود Initiator لتعرف أي إضافة قامت بطلبه.

الطريقة 2: فحص مصدر الصفحة (سهلة)

  1. انقر بزر الماوس الأيمن على موقعك واختر View Page Source.
  2. ابحث (Ctrl+F) عن كلمة "jquery".
  3. قارن المسارات:
    • المسار السليم: /wp-includes/js/jquery/jquery.min.js.
    • المسار المشبوه: عادة ما يكون داخل مجلد إضافة معينة /wp-content/plugins/some-plugin/....

خطوات الحل

الخيار 1: تحديث الإضافات

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

الخيار 2: استبدال الإضافة "المتطفلة"

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

الخيار 3: الحل البرمجي عبر mu-plugin (للمحترفين)

إذا كنت مضطراً لاستخدام الإضافة، يمكنك "إجبار" ووردبريس على إلغاء طلب النسخة المكررة. أنشئ ملفاً باسم fix-jquery-double.php داخل wp-content/mu-plugins/ وضع فيه الكود التالي:

<?php
/**
 * Plugin Name: Dravasite – Remove Duplicate jQuery
 * Description: إلغاء تحميل نسخة jQuery المكررة من الإضافات الضعيفة.
 * Version:     1.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

add_action( 'wp_enqueue_scripts', function () {
    // استبدل 'external-jquery-handle' بالاسم التعريفي للسكربت المكرر
    wp_dequeue_script( 'external-jquery-handle' );
}, 100 );

ملاحظات هامة

  • لا تحذف نسخة ووردبريس الأصلية: حذف نسخة /wp-includes/ سيؤدي لانهيار لوحة التحكم ومعظم ميزات الموقع.
  • jQuery Migrate: قد تجد ملفاً يسمى jquery-migrate.min.js؛ هذا ملف إضافي يوفره ووردبريس لدعم الأكواد القديمة، وهو ليس نسخة مكررة من jQuery.
  • الاختبار: بعد إزالة النسخة المكررة، قم بتجربة كافة العناصر التفاعلية في موقعك (القوائم، النماذج، السلايدر) للتأكد من أنها ما زالت تعمل بالنسخة الأصلية الوحيدة.