كل دليل ووردبريس يقول لك "أضف هذا إلى functions.php" — لكنها نصيحة هشة. تحديثات القالب قد تمحو تغييراتك، إعداد القالب الفرعي يُضيف تعقيداً، وخطأ برمجي واحد في functions.php يُحطم موقعك بالكامل.
هناك طريقة أفضل: mu-plugins (الإضافات التلقائية).
ما هي mu-plugins؟
mu-plugins (الإضافات التلقائية) هي ملفات PHP تُوضع في wp-content/mu-plugins/. ووردبريس يُحمّلها تلقائياً في كل طلب — لا حاجة لتفعيل، ولا إمكانية لإلغاء التفعيل بالخطأ.
| الميزة | functions.php | إضافة عادية | mu-plugin |
|---|---|---|---|
| تبقى بعد تحديث القالب | لا | نعم | نعم |
| يمكن إلغاء تفعيلها بالخطأ | تغيير القالب = ذهبت | نعم | لا |
| تُحمّل تلقائياً | مع القالب | بعد التفعيل | دائماً |
| مرئية في الإدارة | لا | صفحة الإضافات | تبويب إضافات تلقائية |
| خطأ برمجي واحد = | تحطّم الموقع | تحطّم الإضافة | تحطّم الموقع* |
* نفس خطر functions.php، لكن mu-plugins ملفات معزولة — أسهل للإصلاح عبر FTP لأنك تحذف فقط الملف المُشكِل.
كيفية الإعداد
ممارسة آمنة: قبل إجراء أي تغييرات تقنية، تأكد من وجود نسخة احتياطية كاملة لموقعك (الملفات وقاعدة البيانات) عبر لوحة تحكم الاستضافة أو إضافة متخصصة مثل UpdraftPlus.
الخطوة 1: أنشئ المجلد
اتصل بموقعك عبر FTP، مدير الملفات، أو SSH وانتقل إلى wp-content/.
أنشئ مجلداً اسمه mu-plugins إذا لم يكن موجوداً:
- مدير الملفات / FTP: انقر يمين → مجلد جديد → سمِّه
mu-plugins - SSH:
mkdir mu-plugins
الخطوة 2: أنشئ أول mu-plugin
أنشئ ملف PHP جديد داخل mu-plugins/. سمِّه بوصف جيد — مثلاً site-tweaks.php:
<?php
/**
* Plugin Name: Dravasite – تحسينات الموقع
* Description: تحسينات أداء وأمان مخصصة.
* Version: 1.0.0
*/
// امنع الوصول المباشر
if ( ! defined( 'ABSPATH' ) ) {
exit;
}رأس Plugin Name مهم — يجعل mu-plugin تظهر بشكل صحيح تحت إضافات ← إضافات تلقائية في لوحة الإدارة.
الخطوة 3: أضف مقتطفات الكود
أضف كل مقتطف تحت الرأس. إليك مثال يجمع عدة تحسينات شائعة:
<?php
/**
* Plugin Name: Dravasite – تحسينات الموقع
* Description: تحسينات أداء وأمان مخصصة.
* Version: 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// ── أزِل سكربت الإيموجي (المتصفحات تتعامل مع الإيموجي أصلاً) ──
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
// ── أبطئ Heartbeat API (الافتراضي: 15 ثانية → 120 ثانية) ──
add_filter( 'heartbeat_settings', function ( $settings ) {
$settings['interval'] = 120;
return $settings;
} );
// ── عطّل XML-RPC (وصول بعيد قديم) ──
add_filter( 'xmlrpc_enabled', '__return_false' );ملف واحد أم عدة ملفات؟
ملف واحد أبسط للمواقع الصغيرة. سمِّه شيء مثل site-tweaks.php.
ملفات منفصلة أفضل عندما تريد تفعيل/تعطيل تحسينات فردية بسرعة بإعادة تسمية أو حذف ملف واحد:
mu-plugins/
├── disable-emoji.php
├── heartbeat-control.php
├── disable-xmlrpc.php
└── dequeue-duplicate-jquery.phpكلا الطريقتان تعملان. اختر الأسهل لك في الإدارة.
قالب لـ mu-plugins أحادية الغرض
استخدم هذا القالب لكل تحسين مستقل:
<?php
/**
* Plugin Name: Dravasite – تعطيل سكربت الإيموجي
* Description: يُزيل سكربت كشف الإيموجي من ووردبريس.
* المتصفحات تتعامل مع الإيموجي أصلاً منذ 2015.
* Version: 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// أزِل JavaScript الإيموجي من <head>
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
// أزِل CSS الإيموجي من
remove_action( 'wp_print_styles', 'print_emoji_styles' );لاحظ كيف كل سطر له تعليق يشرح ماذا يفعل ولماذا. أنت مستقبلًا (أو المطوّر التالي) سيشكرك.
كيفية التحقق
بعد رفع mu-plugin:
- اذهب إلى إضافات في إدارة ووردبريس
- اضغط تبويب "إضافات تلقائية" في الأعلى
- إضافتك يجب أن تظهر هناك بالاسم والوصف
إذا لم تر تبويب إضافات تلقائية، يعني مجلد mu-plugins غير موجود أو ليس فيه ملفات PHP صالحة.
أخطاء شائعة
- نسيان وسم
<?phpالافتتاحي — كل ملف mu-plugin يجب أن يبدأ به - أخطاء برمجية — اختبر مقتطفك على موقع تجريبي أولاً. mu-plugin معطوب يُحطم الموقع مثل functions.php معطوب
- المجلدات الفرعية — ووردبريس يُحمّل فقط ملفات PHP مباشرة داخل
mu-plugins/. الملفات في المجلدات الفرعية تُتجاهل