تطوير إضافات ووردبريس: دليل عملي شامل من البداية إلى الاحتراف

قراءة 3 دقائق
2026-03-11
2026-06-03
2,165
أنا أحصل على عمولة عند التسوق عبر الروابط أدناه، ولا يُضاف أي تكلفة عليك.

لماذا يجب تعلم تطوير إضافات (plugins) لمنصة ووردبريس (WordPress)؟

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

من خلال تطوير الإضافات (plugins) الخاصة بك، يمكنك ضمان جودة الكود وتجنب المشاكل المتعلقة بالتوافق أو الثغرات الأمنية الناتجة عن استخدام إضافات من جهات خارجية. بالإضافة إلى ذلك، فإن فهم آليات عمل الإضافات بشكل عميق سيمكنك من فهم كيفية عمل نظام ووردبريس (WordPress) بشكل أفضل، مما يجعلك مطورًا أكثر كفاءة في هذا المجال. سواء كان الأمر يتعلق بتحسين الميزات البسيطة أو دمج تطبيقات SaaS المعقدة، فإن تطوير الإضافات يعتبر الأساس الذي يمكن من خلاله تحقيق كل ذلك.

إنشاء بيئة التطوير وإنشاء أول إضافة (plugin)

قبل البدء في كتابة الكود، من المهم جدًا امتلاك بيئة تطوير مناسبة. يُنصح باستخدام أدوات التطوير المحلية مثل Local by Flywheel أو XAMPP أو MAMP، والتي تسمح بإنشاء بيئة خادم محلية تحتوي على PHP و MySQL و Apache/Nginx بسرعة. بالإضافة إلى ذلك، فإن محرر كود محترف مثل VS Code أو PHPStorm يمكن أن يعزز كفاءة عملية التطوير بشكل كبير.

إنشاء ملفات المكون الإضافي الأساسية

أبسط إضافة (plugin) لـ WordPress يمكن أن تحتوي فقط على ملف PHP رئيسي واحد. أولاً، في دليل تثبيت WordPress…wp-content/pluginsداخل المجلد، قم بإنشاء مجلد جديد، على سبيل المثال:my-first-plugin

داخل هذا المجلد، قم بإنشاء ملف رئيسي، وعادة ما يتم تسميته باسم الإضافة (plugin)، على سبيل المثال:my-first-plugin.phpيجب أن يحتوي كل إضافة (plugin) على تعليق يحتوي على معلومات قياسية عن الإضافة في بداية الملف، وهذا ضروري لكي يتمكن نظام ووردبريس (WordPress) من التعرف على الإضافة.

خادم ووردبريس من شركة UltaHost
ضمان استرداد المال خلال 30 يومًا، عرض نطاق ترددي وقواعد بيانات غير محدودين، حماية مجانية ضد هجمات DDoS، خصم 50% عند الشراء لمدة 3 سنوات (السعة المتاحة: 501–4 تيرابايت).
<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习插件开发的简单示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

بعد حفظ الملف، قم بالدخول إلى صفحة “الإضافات” (Plugins) في واجهة ووردبريس الخلفية، ويجب أن ترى هذه الإضافة الجديدة مدرجة في قائمة الإضافات. على الرغم من أنها لا تحتوي على أي وظائف حاليًا، إلا أنك قد نجحت بالفعل في إنشاء إضافة ووردبريس قانونية.

إضافة ميزة بسيطة للإضافة (plugin).

دعونا نضيف الميزة الأساسية لهذا الإضافة: إضافة سطر نصي مخصص في أسفل صفحات الموقع. سنستخدم آلية “الخطافات” (Hooks) في ووردبريس (WordPress) لتحقيق ذلك.

\n// أضف الشفرة التالية أسفل تعليقات رأس المكوّن في my-first-plugin.php

function my_first_plugin_add_footer_text() {
    echo '<p style="text-align: center;">شكرًا لاستخدامك أول إضافة (plugin) من تطويري!</p>';
}
add_action( 'wp_footer', 'my_first_plugin_add_footer_text' );

بعد تفعيل الإضافة، عند زيارة واجهة الموقع الإلكتروني، سترى النص الذي تم إضافته في أسفل الصفحة.add_action()الدالة تستخدم المعلمات التي قمنا بتخصيصها بأنفسنا.my_first_plugin_add_footer_textتم “تثبيت” الدالة داخل نواة ووردبريس (WordPress core).wp_footerهذا “خطاف الإجراء” (Action Hook)… إنه أحد الطرق الأساسية لتوسيع وظائف إضافات ووردبريس (WordPress Plugins).

التعمق في الجوهر: المخالب (Hooks) والمرشحات (Filters)

فهم الخطافات هو المفتاح لإتقان تطوير الإضافات في ووردبريس. تنقسم الخطافات إلى قسمين: الإجراءات (Action) والفلاتر (Filter).

خطافات الإجراءات (Action Hooks)

تسمح خيوط الأعمال (Action Hooks) بإدراج كودك الخاص في نقاط زمنية محددة أثناء تشغيل ووردبريس. على سبيل المثال، بعد نشر مقال، عند تسجيل المستخدم، أو قبل تحميل جزء رأس الصفحة (header). لقد استخدمناها من قبل…wp_footerإنه مجرد خطاف لتنفيذ إجراء معين (action hook). يتم استخدامه لتنفيذ كود معين عند حدوث حدث معين.add_action()دالة لتثبيت دالة أخرى الخاصة بك.

مثال: إضافة مربع تنبيه إلى أعلى محتوى المقالة
function add_disclaimer_to_content( $content ) {
    if ( is_single() ) {
        $disclaimer = '<div class="notice">هذا المقال محتوى أصلي؛ يرجى ذكر المصدر عند إعادة نشره.</div>';
        $content = $disclaimer . $content;
    }
    return $content;
}
// 注意:这是一个过滤器示例,为了对比,下面会给出动作示例

مثال أكثر تمثيلاً على هذا النوع من الإجراءات هو إضافة قائمة في واجهة الإدارة الخلفية:

function my_plugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'my-plugin-settings', // 菜单slug
        'my_plugin_settings_page' // 用于显示页面内容的函数
    );
}
add_action( 'admin_menu', 'my_plugin_add_admin_menu' );

مخالب المرشحات (Filter Hooks)

تسمح خيوط المرشحات (filter hooks) بتعديل البيانات التي يتم تمريرها أثناء عملية معينة. يقوم ووردبريس بتمرير البيانات عبر المرشحات، ويمكن لدوالك تعديل هذه البيانات ثم إرجاعها. استخدم هذه الميزة بشكل فعال لتحسينadd_filter()دالة.

مثال: تعديل طول ملخص المقالة
function my_custom_excerpt_length( $length ) {
    return 30; // تغيير عدد الكلمات في الملخص إلى 30 كلمة
}
add_filter( 'excerpt_length', 'my_custom_excerpt_length' );

// مثال: تعديل نص رابط “اقرأ المزيد”
function my_custom_excerpt_more( $more ) {
    return '...';
}
add_filter( 'excerpt_more', 'my_custom_excerpt_more' );. <a href="/ar/' . get_permalink() . '/">استمر في القراءة.</a>';
}
add_filter( 'excerpt_more', 'my_custom_excerpt_more' );

بناء هيكلية الإضافات: الأمان، الخيارات، والتدويل

يحتاج الإضافة (البرنامج الإضافي) الناضج إلى بنية متينة، والتي تشمل معالجة أمنية سليمة، وتخزين البيانات بشكل فعال، بالإضافة إلى دعم للترجمة والتكيف مع اللغات المختلفة (التدويل).

استضافة.كوم استضافة مشتركة
أداء عالٍ مع وحدات المعالجة المركزية AMD EPYC، ووحدات تخزين NVMe SSD وLiteSpeed، ودعم داخلي متخصص على مدار الساعة طوال أيام الأسبوع، وتدابير أمنية متقدمة بما في ذلك SSL، وقوة الغاشمة، والحماية من البرامج الضارة والحماية من DDoS، وتوفير ما يصل إلى 731 تيرابايت 4 تيرابايت

أفضل الممارسات الأمنية

يجب على جميع الإضافات (البرامج الإضافية) أن تلتزم بمعايير أمان ووردبريس (WordPress). أهم المبادئ هي: التحقق من المدخلات (البيانات المقدمة من المستخدمين)، وتهيئتها بشكل صحيح (عبر عمليات التهريب أو الإزالة

  • التحقق (Validation): عملية فحص ما إذا كانت المعلومات التي يدخلها المستخدم تتوافق مع الصيغة المتوقعة (مثل ما إذا كانت عنوان بريد إلكتروني أو رقمًا، إلخ)، وتتم قبل حفظ البيانات في قاعدة البيانات.
  • التنظيف (Sanitization): تنظيف المدخلات من قبل المستخدمين وإزالة أي أحرف غير آمنة أو غير مطلوبة. يوفر ووردبريس عددًا كبيرًا من الدوال المخصصة للتنظيف، مثل…sanitize_text_field()
  • التهريب (Escaping): قبل إخراج أي بيانات إلى المتصفح (سواء في الجزء الأمامي أو الخلفي من التطبيق)، يجب تنفيذ عملية التهريب لمنع هجمات XSS.esc_html()esc_attr()esc_url()وغيرها من الدوال.
// 从表单接收一个标题,清理后保存,输出时转义
$user_input_title = $_POST['title']; // 不安全!
$clean_title = sanitize_text_field( $user_input_title ); // 清理
update_option( 'my_plugin_title', $clean_title ); // 保存

// ... 在另一个地方输出 ...
echo '<h2>'`. esc_html( get_option( 'my_plugin_title' ) )`.'</h2>'; // الإخراج الآمن

استخدام واجهة برمجة التطبيقات (API) لخيارات لتخزين البيانات

بالنسبة للإعدادات البسيطة، فإن واجهة برمجة التطبيقات (API) الخاصة بـ WordPress تعتبر أفضل طريقة لتخزين البيانات. فهي توفر طريقة آمنة وسهلة لتخزين البيانات المسماة بشكل فردي، واسترجاعها، وتحديثها.

// 保存或更新一个选项
update_option( 'my_plugin_setting_1', 'some value' );

// 获取一个选项,如果不存在则返回默认值
$setting = get_option( 'my_plugin_setting_1', 'default value' );

// 删除一个选项
delete_option( 'my_plugin_setting_1' );

بالنسبة لعدة إعدادات مترابطة، يُنصح بتخزينها في مصفوفة واحدة لتقليل عدد عمليات الاستعلام على قاعدة البيانات.

// 保存一组设置
$settings_array = array(
    'api_key' => '12345',
    'enable_feature' => true,
    'color_scheme' => 'blue'
);
update_option( 'my_plugin_settings', $settings_array );

// 获取设置数组
$saved_settings = get_option( 'my_plugin_settings' );
$api_key = $saved_settings['api_key'] ?? ''; // PHP 7+ 空合并运算符

تدويل الإضافات (Plugin Internationalization)

لكي يتمكن مستخدمو العالم أجمع من استخدام إضافتك، فإن التدويل (i18n) أمر ضروري للغاية. يتطلب ذلك منك استخدام دوال ترجمة في ووردبريس (WordPress) لتغليف جميع النصوص الموجهة للمستخدمين.

1. الاستخدام__()_e()_x()تُستخدم الدوال مثل `str.format()` لتنسيق النصوص وتضمين القيم المختلفة داخل السلاسل النصية.
٢. قم بتعريف ذلك في تعليقات بداية المكون الإضافي (plugin).Text Domain(مثل: my-first-plugin).
٣. استخدم أدوات مثل Poedit لإنشاؤه..potملف قالب، مخصص لمساعدة المترجمين على القيام بعمليات الترجمة..poو.moملف.

// 在插件主文件中加载文本域
function my_plugin_load_textdomain() {
    load_plugin_textdomain( 'my-first-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'my_plugin_load_textdomain' );

// 在代码中使用翻译函数
$greeting = __( 'Hello, world!', 'my-first-plugin' );
_e( 'This text will be echoed and is translatable.', 'my-first-plugin' );

نشر وتوزيع إضافتك (البرنامج الإضافي)

بعد الانتهاء من التطوير، يمكنك اختيار مشاركة الإضافة مع الآخرين لاستخدامها. سواء كان الاستخدام الشخصي أو للعملاء، ما عليك سوى تجميع الملفات في ملف ZIP واحد. أما إذا كنت ترغب في تقديم الإضافة إلى الدليل الرسمي لإضافات ووردبريس (WordPress Plugin Directory)، فيجب عليك اتباع معايير أ

الاستضافة المشتركة InterServer
استضافة مشتركة $2.50 دولار أمريكي في الشهر، الشهر الأول $0.1 دولار أمريكي الرمز الترويجي tryinterserver، 461 نص برمجي للتطبيقات السحابية، تثبيت بنقرة واحدة.

جاهز للنشر.

تأكد من أن كودك يتوافق مع معايير ترميز ووردبريس (WordPress Coding Standards)، وأنه يحتوي على تعليقات وثائقية كاملة، وأنه قد تم اختباره بشكل شامل. قم بإنشاء كود يلبي هذه المتطلبات.readme.txtيجب أن يتوافق تنسيق الملف مع متطلبات موقع WordPress.org، ويجب أن يتضمن وصف الإضافة (البرنامج الإضافي)، خطوات التثبيت، الأسئلة الشائعة، سجلات التحديثات، وغيرها. هذا هو مصدر محتوى صفحة دليل الإضافات (plugin directory page).

تم إرساله إلى WordPress.org.

قم بتسجيل حساب على موقع WordPress.org، ثم قم بتقديم الإضافة (البرنامج الإضافي) للمراجعة. سيقوم فريق المراجعة بفحص أمان الكود ومدى توافقه مع المعايير المطلوبة.readme.txtبعد الموافقة على الملفات، يمكنك استخدام أداة SVN لتقديم كود الإضافة (البرنامج الإضافي) إلى المستودع الرسمي، وبذلك سيتمكن المستخدمون حول العالم من البحث عن إضافتك وتثبيتها. يتطلب الحفاظ على إضافة ناجحة إجراء تحديثات مستمرة، وإصلاح الثغرات الأمنية، و

الملخصات

تطوير إضافات ووردبريس (WordPress plugins) هو عملية تدريجية تبدأ بفهم الهيكل الأساسي للإضافات (ملفات الإضافة، التعليقات في الرأس)، ثم التقنيات الأساسية للتوسع (مثل مخالب الأفعال والمرشحات)، وأخيرًا بناء منتجات قوية وآمنة وقابلة للترجمة إلى لغات أخرى (مثل الممارسات الأمنية، واجهة برمجة التطبيقات للخيارات، ودعم الترجمة i18n). من خلال اتباع أفضل الممارسات واستخدام واجهات برمجة التطبيقات الغنية المتاحة في ووردبريس، يمكن للمطورين إنشاء إضافات قوية ومستقرة، تلبي احتياجات الأفراد أو تخدم مستخدمين من جميع أنحاء العالم. المواكبة المستمرة للمعايير الجديدة وواجهات برمجة التطبيقات الجديدة في المجتمع هي المفتاح للحفاظ على حيوية

الأسئلة الشائعة الأسئلة المتداولة

ما هي المعرفة المسبقة المطلوبة لتطوير إضافات (Plugins) لمنصة ووردبريس (WordPress)؟

يجب أن تمتلك أساسًا متينًا في لغة البرمجة PHP، حيث يتم استخدام PHP بشكل أساسي في تطوير الإضافات (البرامج الإضافية لموقع ووردبريس). بالإضافة إلى ذلك، من الضروري أن يكون لديك معرفة أساسية بلغات HTML و CSS و JavaScript للتعامل مع عرض المحتوى والتفاعلات على الواجهة الأمامية للموقع. سيكون من المفيد أيضًا أن تكون على دراية بالمفاهيم الأساسية لقواعد البيانات MySQL، على الرغم من أن واجهة برمجة تطبيقات ووردبريس (WordPress API) تقوم بتغليف معظم عمليات قواعد البيانات مسبقًا. الأهم من ذلك كله، أن تكون لديك فهم واضح للمفاهيم الأساسية في ووردبريس، مثل المقالات (Articles)، الصفحات (Pages)، التص

ما هو الفرق الرئيسي بين خطافات الإجراءات (Action Hooks) وخطافات المرشحات (Filter Hooks)؟

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

كيف أقوم بتصحيح أخطاء (التصحيح) في إضافة (Plugin) ووردبريس الخاصة بي؟

أولاً، تأكد من أنه فيwp-config.phpتم تفعيل الملف.WP_DEBUGوWP_DEBUG_LOGسيقوم هذا بتسجيل أخطاء PHP وتحذيراتها في ملف معين.wp-content/debug.logفي الملف، ولن يتم عرضه للزوار. ثانيًا، استخدم…error_log()تقوم الدالة بكتابة معلومات التصحيح المخصصة في السجلات (اللوغات). بالنسبة للتطبيقات ذات المنطق المعقد، يمكن استخدام أدوات تصحيح متخصصة مثل Xdebug بالتعاون مع بيئة التطوير المتكاملة (IDE) لإجراء عمليات التصحيح عن طريق وضع نقاط توقف (breakpoints). بالإضافة إلى ذلك، من المهم جدًا فح

كيف يتوافق مكوّني الإضافي مع المظهر أو المكوّنات الإضافية الأخرى؟

لتحقيق أقصى قدر من التوافق، يجب دائمًا استخدام واجهات برمجة التطبيقات (APIs) الرسمية لووردبريس مثل واجهة API الخيارات (Options API)، وواجهة API الإعدادات (Settings API)، وواجهة HTTP API، بدلاً من الدوال الخاصة بلغة PHP. أضف بادئة فريدة لأسماء دوالك وفئاتك وخياراتك، على سبيل المثال…myplugin_بدلاً من أن يكون عامًا/متاحًا للجميعget_data()لتجنب حدوث تعارضات في التسميات، قم بتعيين معاملات الأولوية بشكل مناسب عند إضافة الخيوط (hooks) لضمان أن تتم التنفيذات وفقًا للترتيب المتوقع. كن حذرًا عند تعديل المتغيرات العامة (global variables)، وفكر في توفير مرشحات (filters) تسمح للمطورين الآخرين بت