من الصفر: دليل كامل لتطوير الإضافات في ووردبريس مع دروس عملية.

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

الاستعدادات وإعداد البيئة.

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

اختيار وتكوين بيئة التطوير المحلية

الخطوة الأساسية هي إنشاء خادم محلي يجمع بين PHP و MySQL و Apache/Nginx. يمكنك اختيار…MAMPXAMPPتوفر هذه الحزم البرمجية المتكاملة طرقًا سهلة للتثبيت على كل من أنظمة ويندوز (Windows) وماك أوس (macOS). بالنسبة للمستخدمين ذوي المستوى الأعلى من الخبرة، يمكنهم استخدام…Dockerاستخدام الحاويات (containers) لبيئة التطوير الخاصة بك هو أفضل ممارسة حاليًا، حيث يضمن توحيد البيئة وسهولة نسخها. بغض النظر عن الطريقة التي تختارها، تأكد من أن إصدار PHP الخاص بك متوافق مع الإصدارات الرئيسية التي تتطلبها الإضافات (مثل PHP 7.4 فما فوق)، وقم بتفعيل الامتدادات الضرورية مثل MySQLi أو PDO.

تثبيت ووردبريس وتكوينه.

بعد أن يصبح بيئة الخادم المحلي جاهزة، ستحتاج إلى تثبيت نواة ووردبريس (WordPress Core). قم بتنزيل أحدث إصدار مستقر من موقع ووردبريس الرسمي (WordPress.org)، ثم قم بفك ضغط الملفات إلى المجلد الرئيسي لموقعك على الخادم (الموجود عادةً في المسار /www).htdocsأوwwwيتم تخزين الملفات في مجلد تحت المسار المحدد. بعد ذلك، قم بزيارة هذا المجلد عبر متصفح الويب واتبع الخطوات المعروفة لعملية التثبيت التي تستغرق خمس دقائق. ننصحك بإنشاء قاعدة بيانات مخصصة لتطوير الإضافات، وتسجيل اسم القاعدة واسم المستخدم وكلمة المرور الخاصة بها. بعد التثبيت، ادخل إلى واجهة ووردبريس الخلفية وقم بتغيير هيكل الروابط الثابتة إلى تنسيق غير الافتراضي (مثل “اسم المقال”)، وهذا سيساعد في اختبار توافق الإضافة مع الروابط الدائمة.

القراءة الموصى بها مقدمة إلى تطوير موضوعات WordPress: بناء موضوعك المخصص الأول من الصفر.

توصيات لأدوات التطوير الأساسية:

لا يمكن أن يكون التطوير الفعال بدون أدوات مناسبة وسهلة الاستخدام. أولاً، تحتاج إلى محرر كود، مثل محررات الكود المجانية والقوية…Visual Studio Codeقم بتثبيت الإضافات المناسبة لـ PHP و WordPress والتي توفر إمكانية التعرف الذكي على الكود. كما قم بتثبيت أداة للتحكم في إصدارات الملفات (Version Control Tool).Gitإنها أداة ضرورية لإدارة تغييرات الكود وتتبع تاريخ التطوير. أدوات تطوير المتصفحات (مثل Chrome DevTools أو Firefox Developer Edition) ضرورية للغاية لتصحيح الأخطاء في الجزء الأمامي من البرمجيات (الجزء المعروض للمستخدم). وأخيرًا، فكر في تثبيت أداة لفحص جودة الكود.PHP_CodeSnifferتنسيق الملابسWordPress-Coding-Standardsمجموعة القواعد هذه تساعدك على الالتزام بمعايير الكود الرسمية لووردبريس (WordPress).

خادم ووردبريس من شركة UltaHost
ضمان استرداد المال خلال 30 يومًا، عرض نطاق ترددي وقواعد بيانات غير محدودين، حماية مجانية ضد هجمات DDoS، خصم 50% عند الشراء لمدة 3 سنوات (السعة المتاحة: 501–4 تيرابايت).

الهيكل الأساسي للإضافات والملفات الأساسية

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

التكوين الأساسي للملف الرئيسي ووظيفته

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

<?php
/**
 * Plugin Name:       我的首个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于演示的WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

// 防止直接文件访问
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

Plugin Nameهذا هو الحقل الوحيد الضروري، ويُستخدم لعرض قائمة الإضافات في الواجهة الخلفية. يُنصح بتعريفه.ABSPATHقم بالتحقق لمنع المستخدمين الخبيثين من الوصول المباشر إلى ملفات البرنامج المكونة الأساسية (الكود الأساسي للبرنامج).

إضافة الكود الأساسي الوظيفي للإضافة (plugin)

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

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

/**
 * 在管理后台顶部显示欢迎信息
 */
function myfp_display_admin_notice() {
    echo '<div class="notice notice-success is-dismissible"><p>مرحبًا بك في استخدام “أول إضافة لي”!</p></div>';
}
add_action( 'admin_notices', 'myfp_display_admin_notice' );

من أجل الحفاظ على تنظيم الكود وتجنب تعارض الأسماء، يجب استخدام بادئة فريدة لجميع الدوال وأسماء الفئات، كما هو الحال هنا.myfp_(اختصار لـ "My First Plugin").

معايير تنظيم مجلدات الإضافات وملفات الموارد

عادةً ما يحتوي الإضافة (plugin) ذو الميزات الأكثر تعقيدًا على عدة ملفات. يمكن لهيكل المجلدات المنظم أن يحسن بشكل كبير من قابلية الصيانة. إليك بعض الطرق الشائعة لتنظيم الملفات:
- /assets/يُستخدم لتخزين الموارد الثابتة مثل CSS وJavaScript والصور والخطوط (fonts).
- /includes/تحتوي هذه المجلدات على ملفات الكلاسات الأساسية للغة PHP بالإضافة إلى ملفات الدوال الوظيفية (functional functions).
- /admin/يحتوي هذا المجلد على ملفات PHP و CSS و JS التي تتعلق فقط بواجهة الإدارة الخلفية للموقع.
- /public/يحتوي هذا المجلد على الملفات المتعلقة بواجهة موقع الويب الأمامية (الجزء الذي يظهر للمستخدمين).
- /languages/تُستخدم هذه المجلدات لتخزين ملفات الترجمة الدولية (بصيغة .po و .mo).

تذكّر دائمًا أن ملف الإضافة الرئيسي (الـ main plugin file) يقع في المجلد الرئيسي (الـ root directory) للإضافة نفسها. عند الإشارة إلى ملفات الموارد (resource files) داخل الكود، يجب استخدام الطريقة المناسبة للوصول إليها.plugin_dir_url( FILE )أوplugin_dir_path( FILE )للحصول بشكل ديناميكي على العنوان URL الصحيح أو مسار الخادم المطلوب.

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

آلية الخطافات (Hook Mechanism) وتفاعلها مع واجهات برمجة التطبيقات الأساسية (Core APIs)

جوهر تطوير إضافات ووردبريس يكمن في آلية “الخطافات” (Hooks)، والتي تسمح لكودك بالتدخل والتشغيل في أوقات محددة داخل النواة الأساسية لووردبريس، أو القوالب (Themes)، أو الإضافات الأخرى.

فهم خطافات الإجراءات وخطافات التصفية

تنقسم الخطافات (Hooks) إلى فئتين رئيسيتين: الإجراءات (Actions) والمرشحات (Filters). تُستخدم خطافات الإجراءات لتنفيذ الكود الخاص بك عند حدوث حدث معين، مثل بعد نشر مقال أو قبل تحميل صفحة ما. لا تعيد هذه الخطافات أي قيم، بل تقوم فقط بـ “تنفيذ” ما هو مطلوب. الدالة الأساسية المستخدمة في هذا السياق هي…add_action()وdo_action()تُستخدم خطافات المرشحات (filter hooks) لتعديل البيانات. قبل أن يتم استخدام البيانات أو حفظها أو عرضها، يمكنك اعتراضها وتعديلها. يجب أن تعيد هذه الخطافات قيمة معينة. الدالة الأساسية المستخدمة في ذadd_filter()وapply_filters()

تثبيت الميزات المخصصة على الخطافات القياسية (Standard Hooks)

يوفر نواة ووردبريس مئات الأدوات (الـ “hooks”) القياسية. على سبيل المثال، يمكنك إضافة إعلان حقوق النشر تلقائيًا في نهاية محتوى المقال، وهو ما يتطلب استخدام كل من الإجراءات (actions) والمرشحات (filters).

القراءة الموصى بها تطوير إضافات ووردبريس: من المبتدئين إلى الخبراء: دليل شامل لإنشاء وظائف مخصصة

// 使用过滤器修改文章内容
function myfp_add_copyright_to_content( $content ) {
    if ( is_single() ) {
        $copyright_text = '<p><em>يرجى ذكر المصدر عند إعادة النشر.</em></p>';
        $content .= $copyright_text;
    }
    return $content;
}
add_filter( 'the_content', 'myfp_add_copyright_to_content' );

// 使用动作在文章保存时执行操作
function myfp_log_post_publish( $post_id ) {
    // 记录日志或执行其他后处理
    error_log( "文章 ID {$post_id} 已发布。" );
}
add_action( 'publish_post', 'myfp_log_post_publish' );

إنشاء وتوفير خطافات مخصصة (custom hooks) للتوسعة (extension)

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

// 定义一个自定义动作钩子
function myfp_process_data() {
    $data = '一些初始数据';
    // 其他开发者可以通过 ‘myfp_before_action’ 在此处插入代码
    do_action( 'myfp_before_action', $data );

// 插件的主要处理逻辑...

// 其他开发者可以通过 ‘myfp_after_action’ 在此处插入代码
    do_action( 'myfp_after_action', $data );
}

// 定义一个自定义过滤器钩子
function myfp_get_output() {
    $output = '默认输出';
    // 允许其他开发者过滤最终的输出
    return apply_filters( 'myfp_filter_output', $output );
}

إنشاء واجهة لإدارة الإضافات وخيارات الإعدادات

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

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

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

إعدادات ووردبريس (WordPress Settings API) تمثل إطار عمل أمني يتعامل مع النماذج (forms)، وعمليات التحقق (validation)، وتخزين البيانات، وعرض نتائج الاختيارات (option data). كما أنها تتولى تلقائيًا مهام مثل إدارة حقول الأمان من نوع “nonce” وفحوصات الصلاحيات (permissions). الخطوات الأساسية لإنشاء صفحة إعدادات تشمل: 1) تسجيل الإعدادات الجديدة، 2) إضافة كتل إعدادات (setting blocks)، 3) إضافة الحقول (fields). يوضح الكود التالي كيفية تسجيل إعداد

function myfp_register_settings() {
    register_setting(
        'myfp_settings_group', // 选项组名
        'myfp_option_name',    // 选项名(存储在wp_options表中)
        array( 'sanitize_callback' => 'myfp_sanitize_callback' ) // 消毒回调函数
    );

add_settings_section(
        'myfp_settings_section', // 区块ID
        '基本设置',               // 区块标题
        'myfp_section_callback', // 区块回调函数(可输出描述)
        'myfp-settings-page'     // 设置页面Slug
    );

add_settings_field(
        'myfp_text_field',      // 字段ID
        '示例文本输入',         // 字段标签
        'myfp_text_field_callback', // 字段回调函数(输出HTML表单域)
        'myfp-settings-page',   // 页面Slug
        'myfp_settings_section' // 所属区块ID
    );
}
add_action( 'admin_init', 'myfp_register_settings' );

إنشاء صفحات للقوائم والقوائم الفرعية في مواقع مختلفة

يجب عليك إضافة رابط صفحة الإعدادات إلى قائمة إدارة ووردبريس. للقيام بذلك، اتبع الخطوات التالية:add_menu_page()يمكن إنشاء قائمة رئيسية (قائمة عليا)، واستخدامها…add_submenu_page()يمكن إنشاء قوائم فرعية (submenus).

function myfp_add_admin_menu() {
    // 添加顶级菜单
    add_menu_page(
        '我的插件设置',        // 页面标题
        '我的插件',            // 菜单标题
        'manage_options',     // 权限能力
        'myfp-settings-page', // 菜单Slug
        'myfp_render_settings_page', // 渲染页面的回调函数
        'dashicons-admin-generic', // 图标(可选)
        80                    // 菜单位置
    );

// 添加子菜单(指向同一个页面,但菜单标题不同)
    add_submenu_page(
        'myfp-settings-page', // 父菜单Slug
        '关于此插件',         // 页面标题
        '关于',              // 菜单标题
        'manage_options',    // 权限能力
        'myfp-about-page',   // 菜单Slug
        'myfp_render_about_page' // 渲染回调
    );
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );

الدالة الاستدعائية (callback function) لعرض صفحة الإعدادات المخصصة

myfp_render_settings_pageتتولى دالة الاستدعاء العكسي (callback function) مسؤولية إخراج هيكل صفحة الإعدادات بصيغة HTML. في هذه الدالة، يجب عليك القيام بالاستدعاءات اللازمة.settings_fields()وdo_settings_sections()قم بإظهار الحقول المسجلة باستخدام واجهة برمجة التطبيقات (API) للإعدادات (Settings API).

function myfp_render_settings_page() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <form action="/ar/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            settings_fields( 'myfp_settings_group' );
            do_settings_sections( 'myfp-settings-page' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="ar"/></form>
    </div>
    أنا لا أعرف ماذا أقول.

الملخصات

تطوير إضافات ووردبريس (WordPress plugins) هو عملية تحويل الأفكار إلى وظائف عملية، ونجاح هذا العمل يعتمد على فهم واضح للهيكل الأساسي لنظام ووردبريس، واستخدام متقن لآليات التكامل بين الأجزاء المختلفة من النظام (المعروفة باسم “الهوكات” – hooks), بالإضافة إلى الاهتمام المستمر بالأمان وتجربة المستخدم. تبدأ عملية التطوير من إنشاء البيئة المناسبة وكتابة الملفات الأساسية، مرورًا بالاستفادة من الأوامر والمرشحات (actions and filters) للتكامل العميق مع ووردبريس، وصولاً إلى إنشاء واجهات إدارة متقدمة عبر تعديل واجهات برمجة التطبيقات (APIs). كل خطوة في هذه العملية تتبع معايير وأفضل الممارسات المتعارف عليها. المفتاح هو الحفاظ على تقسيم الكود إلى وحدات منفصلة (modular structure)، وجعله سهل القراءة والتوسعة، واستخدام أسماء معينة (prefixes) لتجنب التعارضات بين الأجزاء المختلفة من الكود، ووضع الأمان في المقام الأول دائمًا. من خلال دراسة وتطبيق هذا الدليل، أصبحت ال

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

ما هي المعرفة البرمجية الأساسية المطلوبة لتطوير إضافات (plugins) لمنصة ووردبريس (WordPress) باستخدام الكود ###؟
لتطوير إضافات (plugins) لووردبريس (WordPress)، من الضروري امتلاك معرفة أساسية بلغة البرمجة PHP، وتشمل هذه المعرفة قواعد اللغة، الدوال (functions)، المصفوفات (arrays)، ومفاهيم البرمجة الكائنية (object-oriented programming). بالإضافة إلى ذلك، من المفيد أن يكون لدى المطور فهم أساسي لتقنيات الواجهة الأمامية مثل HTML، CSS، وJavaScript، حيث أن هذه التقنيات ضرورية لتطوير إضافات تحتوي على واجهات مستخدم (user interfaces). كما أن الإلمام بالعمليات الأساسية لقاعدة البيانات MySQL مفيد للغاية، نظرًا لاعتماد ووردبريس بشكل كبير على قواعد البيانات في عمل

كيف يمكن تصحيح أخطاء البرامج الإضافية (الإضافات) لمنصة ووردبريس (WordPress) أثناء عملية التطوير؟

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

كيف يمكن لإضافتي (البرنامج الإضافي) تحقيق التدويل (الدعم لللغات المختلفة)؟

لتحقيق التدويل (i18n)، يتم استخدام الأدوات المتاحة في ووردبريس بشكل أساسي.__()_e()_x()في كود الإضافة (plugin code)، قم بتغليف جميع النصوص التي تحتاج إلى ترجمة باستخدام هذه الدوال، وحدد مجال النصوص (Text Domain) المناسب، والذي يتم تعريفه في تعليقات رأس الإضافة (plugin header comments).Text Domainثم، باستخدام أداة مثل Poedit، قم بمسح كود مصدر الإضافة (البرنامج الإضافي) لإنشاء….potملفات القوالب؛ يقوم المترجمون باستخدامها لإنشاء نسخ بلغات مختلفة من المحتوى..poوالمُجمَع (المُترجم) بعد عملية التجميع (الترجمة)..moالملفات… أخيرًا، قم بوضع ملفات الترجمة هذه في المكون الإضافي (البرنامج الإضافي)./languages/موجود داخل المجلد، ويتم استخدامه عند تهيئة الإضافة (plugin initialization).load_plugin_textdomain()الدوال تقوم بتحميلها.

كيف يمكنني نشر إضافتي مجانًا في مستودع الإضافات الرسمي لووردبريس (WordPress Plugin Directory)؟

لنشر الإضافة في الدليل الرسمي لـ WordPress، يجب استيفاء مجموعة من المتطلبات. أولاً، تأكد من أن إضافتك تتبع بشكل كامل رخصة GPL الإصدار 2 أو أحدث. ثانياً، احرص على جودة وأمان الكود، واتبع معايير ترميز WordPress. بعد ذلك، ستحتاج إلى إنشاء حساب على موقع WordPress.org وتقديم الإضافة من خلال قسم “المطورين”. قبل التقديم، تأكد من أن الإضافة تحتوي على وصف مفصل ومنظم.readme.txtالملف مُعد باستخدام تنسيق Markdown المحدد، وقد تم تهيئته بشكل صحيح لدعم اللغات المختلفة (التدويل). بعد التقديم، سيقوم فريق مراجعة الإضافات بفحص الملف، وقد يستغرق هذا العملية من بضعة أيام إلى عدة أسابيع. بمجرد الموافقة على الإضافة، سيصبح بإمكان المستخدمين البحث عنها وتثبيتها في الدليل ال