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

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

المفاهيم الأساسية في تطوير إضافات ووردبريس (WordPress Plugins)

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

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

<?php
/**
 * Plugin Name: 我的第一个插件
 * Description: 这是一个用于演示的简单WordPress插件。
 * Version: 1.0.0
 * Author: 你的名字
 */

بمجرد وضع هذا الملف في المكان المناسب… /wp-content/plugins/ في المجلد المحدد، يمكن لصفحة “الإضافات” (Plugins) في واجهة ووردبريس الخلفية أن تتعرف على هذه الإضافة وتقوم بعرضها.

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

يعتمد آلية تشغيل الإضافات (Plugins) على مفهومين أساسيين: خطافات الإجراءات (Action Hooks) وخطافات المرشحات (Filter Hooks). تسمح خطافات الإجراءات بإدخال الكود الخاص بك في نقاط زمنية محددة أثناء تشغيل ووردبريس، مثل بعد نشر مقالة أو قبل تحميل ملفات الأنماط في أعلى الصفحة. يتم استخدام دوال (Functions) لتنفيذ هذه الخطافات. add_action() يمكنك “تثبيت” دالتك على هذه النقاط المحددة (الـ “hooks”). نقاط الفلترة (filter hooks) تسمح لك بتعديل البيانات قبل استخدامها أو حفظها في قاعدة البيانات، مثل تعديل محتوى المقالة أو عنوانها أو ملخصها. يتم ذلك عن طريق add_filter() تم تنفيذ الدالة بواسطة… فهم واستخدام نظام الخطافات (hooks) بشكل ماهر هو الخطوة الرئيسية للتحول من مستخدم لـ WordPress إلى مطور.

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

بناء أول إضافة (plugin) وظيفية لك

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

أولاً، في بيئتك المحلية أو بيئة الاختبار… /wp-content/plugins/ قم بإنشاء مجلد جديد داخل المجلد الحالي، وأطلق عليه الاسم التالي: my-copyright-noticeداخل هذا المجلد، قم بإنشاء ملف الإضافة الرئيسية (البرنامج الإضافي). my-copyright-notice.phpوأضف الكود التالي:

&lt;?php
/**
 * Plugin Name: 文章版权声明
 * Description: 自动在文章内容末尾附加自定义版权声明。
 * Version: 1.0.0
 * Author: 开发者
 */

// 防止直接访问
if ( ! defined( &#039;ABSPATH&#039; ) ) {
    exit;
}

/**
 * 在文章内容后追加版权声明
 */
function mycn_add_copyright_to_content( $content ) {
    // 确保只在主循环的单篇文章中显示
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $site_url = get_site_url();
        $current_year = date( &#039;Y&#039; );
        // 构建版权文本,这里用 2026 作为示例,实际开发可动态获取
        $copyright_text = sprintf(
            &#039;<p><em>© 2026 %s. تمت كتابة هذا المقال بواسطة… <strong>%s</strong> المحتوى أصلي؛ يرجى ذكر المصدر عند إعادة نشره.</em></p>',
            esc_html( get_bloginfo( 'name' ) ),
            esc_url( $site_url )
        );
        $content .= $copyright_text;
    }
    return $content;
}
// 将函数挂载到 ‘the_content’ 过滤器
add_filter( 'the_content', 'mycn_add_copyright_to_content' );

يوضح هذا الإضافة الطريقة الأساسية لاستخدام المرشحات (filters).mycn_add_copyright_to_content تتلقى الدالة محتوى المقال. $contentيتم التأكد من أن معلومات حقوق النشر تُضاف فقط في صفحة المقال الفردي وفي الاستعلام الرئيسي، من خلال استخدام شروط تحكم معينة. بعد ذلك، يتم تعديل المحتوى وإرجاعه.add_filter( ‘the_content’, ‘mycn_add_copyright_to_content’ ) هذا السطر من الكود يقوم بتنفيذ عملية إدخال الميزات (أي إضافة الوظائف الجديدة إلى النظام).

إضافة واجهة إدارة وخيارات للإضافة (Plugin).

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

القراءة الموصى بها كيف يمكن تخصيص قالب ووردبريس (WordPress Theme) يتمتع بميزات فريدة ومظهر جذاب لتلبية الاحتياجات المهنية؟

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

قم بتعديل النص الخاص بك. my-copyright-notice.php في الملف، أضف الكود التالي:

// 添加管理员菜单
function mycn_add_admin_menu() {
    add_options_page(
        '版权声明设置', // 页面标题
        '文章版权',     // 菜单标题
        'manage_options', // 权限
        'my_copyright_notice', // 菜单slug
        'mycn_settings_page_html' // 回调函数,用于输出页面HTML
    );
}
add_action( 'admin_menu', 'mycn_add_admin_menu' );

// 初始化插件的设置
function mycn_settings_init() {
    // 注册一个新的设置项到 ‘mycn_settings’ 组
    register_setting( ‘mycn_settings’, ‘mycn_copyright_text’ );

// 在 ‘mycn_settings’ 组内添加一个设置区块
    add_settings_section(
        ‘mycn_settings_section’,
        ‘自定义版权文本’,
        null, // 可选的区块描述回调函数
        ‘mycn_settings’
    );

// 向区块中添加字段
    add_settings_field(
        ‘mycn_copyright_field’,
        ‘版权声明’,
        ‘mycn_copyright_field_html’,
        ‘mycn_settings’,
        ‘mycn_settings_section’
    );
}
add_action( ‘admin_init’, ‘mycn_settings_init’ );

// 设置字段的HTML输出
function mycn_copyright_field_html() {
    $option = get_option( ‘mycn_copyright_text’, ‘© 2026 [site_name]. 本文原创自 [site_url]。’ );
    ?&gt;
    <textarea name="‘mycn_copyright_text’" rows="‘5’" cols="‘50’"><?php echo esc_textarea( $option ); ?></textarea>
    <p class="“description”">يتم دعم استخدام الأكواد المختصرة، مثل: `[site_name]` لاسم الموقع الإلكتروني، و`[site_url]` لعنوان الموقع الإلكتروني.</p>
    <?php
}

// 设置页面的HTML结构
function mycn_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( ‘manage_options’ ) ) {
        return;
    }
    ?>
    <div class="“wrap”">
        <h1></h1>
        <form action="/ar/“options.php”/" method="“post”" data-trp-original-action="“options.php”">
            <?php
            settings_fields( ‘mycn_settings’ );
            do_settings_sections( ‘mycn_settings’ );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="ar"/></form>
    </div>
    أنا لا أعرف ماذا أقول.

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

استضافة.كوم استضافة مشتركة
أداء عالٍ مع وحدات المعالجة المركزية AMD EPYC، ووحدات تخزين NVMe SSD وLiteSpeed، ودعم داخلي متخصص على مدار الساعة طوال أيام الأسبوع، وتدابير أمنية متقدمة بما في ذلك SSL، وقوة الغاشمة، والحماية من البرامج الضارة والحماية من DDoS، وتوفير ما يصل إلى 731 تيرابايت 4 تيرابايت
function mycn_add_copyright_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $text = get_option( ‘mycn_copyright_text’, ‘© 2026 [site_name]. 本文原创自 [site_url]。’ );
        $text = str_replace(
            array( ‘[site_name]’, ‘[site_url]’ ),
            array( esc_html( get_bloginfo( ‘name’ ) ), esc_url( get_site_url() ) ),
            $text
        );
        $content .= ‘<p><em>’ . wp_kses_post($text) . ‘</em></p>’;
    }
    return $content;
}

الآن، يمكن للمستخدمين رؤية قائمة فرعية تسمى “حقوق النشر للمقالات” ضمن قائمة “الإعدادات” في واجهة ووردبريس الخلفية، ويمكنهم تخصيص النص المستخدم في إعلان حقوق النشر حسب رغبتهم

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

عند تطوير إضافة (plugin) ليستخدمها الآخرون، يجب أخذ الأمان والاستقرار وسهولة الصيانة في الاعتبار. فيما يلي بعض أفضل الممارسات الرئيسية:

الأمان: لا تثق أبدًا بالبيانات التي يدخلها المستخدمون. يجب تنفيذ عمليات تهيئة أو تنقية مناسبة على جميع البيانات القادمة من المستخدمين أو قواعد البيانات أو خدمات الواجهات البرمجية الخارجية (APIs) قبل عرضها على الشاشة أو إدخالها إلى قاعدة البيانات أو استخدامها في عمليات الملفات. يوفر ووردبريس مجموعة واسعة من الدوال الأمنية، مثل esc_html()بالنسبة لاستخدام الروابط الإلكترونية (URLs): esc_url()للاستخدام مع خصائص HTML: esc_attr()عند الحاجة إلى السماح باستخدام بعض علامات HTML الأمنية، يمكن استخدام… wp_kses_post() أو wp_kses()في بداية الإضافة (البرنامج الإضافي)، يجب استخدام… if ( ! defined( ‘ABSPATH’ ) ) exit; لمنع الوصول المباشر إلى الملفات.

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

التصحيح: أثناء عملية التطوير، يتم تفعيل (تشغيل) هذه الميزة. WP_DEBUG الثوابت مهمة للغاية. في برنامجك… wp-config.php تم تعيين الإعدادات في الملف. define( ‘WP_DEBUG’, true);سيؤدي ذلك إلى عرض جميع أخطاء PHP وتحذيراتها وإشعاراتها على الشاشة (فقط في بيئة التطوير). وبالإضافة إلى ذلك، يتم استخدام هذا الإعداد بالتزامن مع… (The setting is used in conjunction with…) error_log() الدوال أو الإضافات المساعدة في التصحيح مثل Query Monitor يمكن أن تساعدك بشكل كبير في تتبع المتغيرات واستعلامات SQL.

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

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

على سبيل المثال، قم بتعديل معلومات الإضافة (البرنامج الإضافي) السابقة إلى ما يلي:

/**
 * Plugin Name: 文章版权声明
 * Description: 自动在文章内容末尾附加自定义版权声明。
 * Version: 1.0.0
 * Author: 开发者
 * Text Domain: my-copyright-notice
 */

في الكود، قم بوضع النصوص القابلة للترجمة بين علامتين. __( ‘string’, ‘text-domain’ ) أو _e( ‘string’, ‘text-domain’ ) تغليف الدوال (Function Wrapping). على سبيل المثال، في إعداد دوال الصفحات:

الوظيفة mycn_settings_page_html() {
    إذا لم يكن لدى المستخدم الحالي إذن ‘إدارة الخيارات’، فسيتم إرجاعه؛
    ?&gt;
    <div class="“wrap”">
        <h1><?php echo esc_html( __( ‘版权声明设置’, ‘my-copyright-notice’ ) ); ?></h1>
        ...
    </div>
    أنا لا أعرف ماذا أقول.

ثم، يمكنك استخدام أداة مثل Poedit لاستخراج هذه السلاسل النصية وإنشاء ما تريد منها. .pot ملف قالب، مخصص لمساعدة المترجمين على القيام بعمليات الترجمة. .po/.mo ملفات اللغة.

الملخصات

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

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

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

يجب أن تمتلك أساسًا جيدًا في لغة البرمجة PHP، حيث يتم كتابة هذه الإضافات بشكل أساسي باستخدام PHP. بالإضافة إلى ذلك، من الضروري أن يكون لديك معرفة أساسية بلغات HTML وCSS وJavaScript لإنشاء المحتوى الذي يتم عرضه في الواجهة الأمامية وإدارة الواجهات. من المهم أيضًا فهم البنية الأساسية لبرنامج WordPress، مثل القوالب (Themes)، أنواع المقالات (Article Types)، وأنظمة التصنيف (Taxonomies)، وبشكل خاص أنظمة الاستجابة للأحداث (Action Hooks) وفلاتر الاستجابة للأحداث (Filter Hooks).

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

أولاً، فيما يتعلق بما لديك… wp-config.php تم تفعيل الميزة داخل الملف. WP_DEBUG و WP_DEBUG_LOGسيتم تسجيل رسائل الخطأ في ملف السجلات (log file) بدلاً من عرضها للزوار. بعد ذلك، تأكد من أن الإضافة (plugin) الخاصة بك مفعلة. قم أيضًا بفحص صحة صيغة الكود، وتأكد من أن أسماء الدوال (functions) وأسماء الروابط (hooks) ومسارات الملفات (file paths) كلها صحيحة. var_dump() أو error_log() قم بعرض قيم المتغيرات الرئيسية، أو قم بتثبيت أداة تصحيح أخطاء متخصصة لووردبريس (مثل Query Monitor) لمساعدتك في تحديد المشكلة.

أين يجب وضع إضافتي (البرنامج الإضافي)؟

يجب وضع الإضافة الخاصة بك في مجلد تثبيت ووردبريس. /wp-content/plugins/ داخل المجلد، يمكنك إنشاء ملف PHP مباشرةً في هذا الدليل (وهو ما يناسب الإضافات البسيطة جدًا)، لكن الطريقة الأكثر احترافية هي إنشاء مجلد منفصل لإضافتك، ووضع الملف الرئيسي بالإضافة إلى ملفات الموارد الأخرى (مثل JS وCSS والصور) داخل هذا المجلد. يجب أن يكون اسم المجلد واسم الملف الPHP الرئيسي فريدين لتجنب التعارض مع إضافات أخرى.

كيف يمكنني تقديم إضافتي (البرنامج الإضافي) إلى الدليل الرسمي لإضافات ووردبريس؟

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