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

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

بيئة تطوير إضافات ووردبريس والاستعدادات الأساسية

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

أولاً، تحتاج إلى بيئة تطوير محلية لـ WordPress. يمكنك استخدام أدوات مثل XAMPP أو MAMP أو Local by Flywheel أو Docker لإنشائها بسرعة. تأكد من أن بيئتك تعمل بإصدار حديث من PHP (يُفضل 7.4 أو أعلى) وقاعدة بيانات MySQL/MariaDB. تسمح لك بيئة التطوير المحلية بإجراء الاختبارات والتصحيحات بحرية دون التأثير على الموقع الإلكتروني الخاص بك على الإنترنت.

ثانيًا، تحتاج إلى محرر كود أو بيئة تطوير متكاملة (IDE). تعتبر أدوات مثل Visual Studio Code وPhpStorm وSublime Text خيارات ممتازة، حيث توفر هذه الأدوات تمييزًا للغة البرمجية، واقتراحات للكود أثناء الكتابة، وإمكانيات للتصحيح الخاطئ (التصحيح التلقائي). كما يُنصح بتثبيت أدوات لضمان جودة الكود، مثل PHP_CodeSniffer، وتكوين معايير ترميز الكود الخاصة بـ WordPress، للحفاظ على تناسق أسلوب كتابة الكود مع النسخة الأساسية من منصة WordPress.

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

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

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

قم بإنشاء ملف الإضافة (plugin) الخاص بك الأول.

دعونا نبدأ بإنشاء أبسط إضافة (“Plugin”) من نوع “Hello World”. سيساعدك هذا العملية على فهم الإطار الأساسي للإضافات وكيف يتعرف نظام ووردبريس (“WordPress”) على الإضافات المثبتة في الموقع.

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

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

فيما يلي مثال على ملف إضافة (plugin) بسيط للغاية:

القراءة الموصى بها البدء من الصفر: لماذا يجب اختيار تطوير إضافات (plugins) لمنصة ووردبريس (WordPress)؟

<?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; // 如果ABSPATH未定义,则退出
}

بعد حفظ هذا الملف، قم بتسجيل الدخول إلى واجهة ووردبريس الخلفية الخاصة بك، ثم اذهب إلى صفحة “الإضافات” (Plugins). يجب أن ترى إضافة “My First Plugin” موجودة في قائمة الإضافات. في هذه المرحلة، يمكنك تفعيلها، لكنها لن تقوم بأي شيء بعد.if ( ! defined( ‘ABSPATH’ ) )التحقق من صحة الملفات هو ممارسة أمنية مهمة تهدف إلى منع المستخدمين من الوصول مباشرة إلى ملفات الإضافات (plugins) الخاصة بك عبر عناوين URL، وتضمن تنفيذ الكود فقط في بيئة ووردبريس (WordPress).

إضافة الميزات الأساسية للإضافة (Plugin)

يحتاج البرنامج المكون (plugin) المفعّل إلى تنفيذ بعض العمليات. في ووردبريس (WordPress)، يتم تحقيق ذلك بشكل أساسي من خلال “خطافات الإجراءات” (Action Hooks) و“خطافات المرشحات” (Filter Hooks). هذه الخطافات تُعد الأساس في بنية برامج المكونات في ووردبريس، وتسمح لك بإدخال كودك الخاص أو تعديل البيانات في نقاط زمنية محددة.

استخدم خطافات الأفعال (Action Hooks) لإضافة إشعارات إلى واجهة الإدارة الخلفية.

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

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

سنستخدم…admin_noticesهذا الخيط الأساسي للتنفيذ (action hook): أولاً، يجب عليك إنشاء دالة لإخراج المحتوى HTML، ثم استخدامها…add_action()تقوم الدالة بـ“تثبيت” هذه الدالة على الخطاف (hook).

في ملف الإضافة الرئيسي الخاص بك، أضف الكود التالي:

/**
 * عرض إشعار الترحيب في الواجهة الإدارية
 */
function myfp_display_admin_notice() {
    ?&gt;
    <div class="notice notice-success is-dismissible">
        <p>مرحبًا بك في استخدام “أول إضافة لي”! تم تفعيل الإضافة بنجاح.</p>
    </div>
    ؟؟؟؟php
}
// تعليق الوظيفة على خطوة admin_notices
add_action( 'admin_notices', 'myfp_display_admin_notice' );

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

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

استخدم خيوط الفلاتر (filter hooks) لتعديل محتوى المقالات.

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

سنستخدم…the_contentهذا خيط فلترة (filter hook)… يجب عليك إنشاء كود يقوم باستقبال المحتوى الأصلي (original content).$contentقم بتعديل الدالة المعنية، ثم أرجع المحتوى المعدل.

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

أضف الكود التالي إلى ملف الإضافة (plugin file) الخاص بك:

/**
 * 在文章内容末尾添加版权声明
 * @param string $content 原始的文章内容
 * @return string 修改后的文章内容
 */
function myfp_add_copyright_to_content( $content ) {
    // 仅对主循环中的单篇文章页面生效
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $copyright_text = '<p><em>جميع حقوق هذا المقال محفوظة لهذا الموقع الإلكتروني؛ يرجى ذكر المصدر عند إعادة نشره.</em></p>'مرحبًا، أنا ساعدت في ترجمة النص التالي إلى العربية:  
\n';  
    if ( !isset( $$content ) ) {  
        $content = $copyright_text;  
    }  
    return $content;  
}
// تركيب الدالة على فلتر the_content، مع أولوية 10  
add_filter( 'the_content', 'myfp_add_copyright_to_content', 10 );

الآن، عندما تطلع على أي مقال على الموقع الإلكتروني، ستظهر إشعار حقوق النشر الذي أضفته في أسفل المحتوى. تتم عملية التحقق من الشروط داخل الدالة المعنية (الfunction).is_single() && in_the_loop() && is_main_query()من المهم جدًا أن يتم التأكد من أن هذا النص يظهر فقط في الحلقة الرئيسية لصفحة المقال الفردية على الواجهة الأمامية، ولا يظهر في قائمة الصفحة الرئيسية أو الأدوات الإضافية أو أي مكان آخر. هذا تفصيل يجب الانتباه إليه عند كتابة إضافات

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

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

تحضير نصوص الإضافات (البرامج الإضافية) لدعم عمليات الترجمة.

تحتاج إلى استخدام دالة معينة لتغليف جميع النصوص التي يتم عرضها للمستخدمين داخل الإضافة. الدالة الأكثر استخدامًا في هذا السياق هي…()يُستخدم للحصول على الترجمة._e()يُستخدم لعرض الترجمة مباشرةً، بالإضافة إلى…esc_html()يُستخدم في السياقات التي تتطلب تهريب (escaping) الرموز HTML.

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

الوظيفة myfp_display_admin_notice() {
    ?&gt;
    <div class="notice notice-success is-dismissible">
        <p><?php _e( '欢迎使用“我的第一个插件”!插件已成功激活。', 'my-first-plugin' ); ?></p>
    </div>
    &lt;?php
}

function myfp_add_copyright_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $copyright_text = &#039;<p><em>'\n' . esc_html__( 'حقوق النشر لهذه المقالة مملوكة لهذا الموقع. يرجى ذكر المصدر عند إعادة نشرها.'، 'my-first-plugin' ) . '</em></p>';
        $content .= $copyright_text;
    }
    return $content;
}

ملاحظة: كل دالة ترجمة تحتوي على معامل ثاني.‘my-first-plugin’هذا ما قمت بتعريفه في بداية ملف الإضافة (البرنامج الإضافي).Text Domainإنه معرف فريد يُستخدم لإخبار ووردبريس (WordPress) بأن هذه السلاسل النصية تنتمي إلى أي إضافة (plugin).

ثم، يجب أن تقوم بتحديد ذلك في تعليقات بداية الإضافة (plugin header comments).Domain Path(أي)/languagesقم بوضع ملفات الترجمة (ملفات بامتداد .po و .mo) داخل المجلد المناسب. يمكنك استخدام أدوات مثل Poedit لإنشاء وإدارة هذه الملفات.

يجب الالتزام بمعايير الأمان وقواعد الكود.

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

يوفر ووردبريس مجموعة غنية من الدوال (functions) لمساعدتك في إنجاز مهامك.
* 验证(Validation):检查数据是否符合预期格式(如is_email())。
* 清理(Sanitization):清除数据中的非法字符(如sanitize_text_field()sanitize_email())。
* 转义(Escaping):在将数据输出到HTML、JavaScript或URL之前,确保其安全(如esc_html()esc_js()esc_url())。

بالإضافة إلى ذلك، عند التعامل مباشرة مع قاعدة البيانات، يجب استخدام فئات قاعدة بيانات ووردبريس (WordPress Database Classes) بشكل إلزامي.$wpdbالطرق المقدمة، مثل$wpdb->prepare()لمنع هجمات الاختراق عبر استخدام كود SQL.

الملخصات

من خلال هذا الدليل، أكملت عملية إنشاء إضافة (plugin) لموقع ووردبريس (WordPress) كاملة الوظائف من الصفر. تعلمت كيفية إعداد البيئة المناسبة للتطوير، وإنشاء ملفات الإضافة الأساسية، واستخدام ميزات “الأفعال” (actions) و“الخطافات” (filters) لإضافة وظائف جديدة إلى ووردبريس، بالإضافة إلى كيفية تحسين جودة الإضافة وقابليتها للاستخدام من خلال ممارسات التدويل (internationalization) والأمان (security). جوهر تطوير الإضافات يكمن في فهم نظام الخطافات (hook system) الخاص بووردبريس واستخدامه ببراعة، حيث يوفر هذا النظام قدرة توسعة ومرونة لا مثيل لهما. تذكر أنه يجب البدء بوظائف بسيطة ومن ثم التطوير تدريجياً، ودائماً وضع الأمان وجودة الكود في المقام الأول، وبذلك ستتمكن من إنشاء إضافات قوية وموثوقة لووردبريس.

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

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

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

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

يمكنك استخدام واجهة برمجة التطبيقات (API) المتاحة في ووردبريس لإنشاء صفحات إعدادات مهنية وآمنة. تشمل الخطوات الرئيسية ما يلي:add_menu_page()أوadd_submenu_page()الدالة تقوم بتسجيل صفحة قائمة (menu page)، ثم تستخدمها لاحقًا.register_setting()add_settings_section()وadd_settings_field()استخدم دوال مثل `defineField` و `defineChapter` لتحديد الحقول والفصول المرغوبة. وأخيرًا، قم بكتابة دالة تعاكسية (callback function) لإنتاج صفحة HTML لصفحة الإعدادات.

لماذا تعتبر الرموز المسبقة (البادئات) مهمة جدًا في تطوير الإضافات (البرامج الإضافية)؟

ووردبريس (WordPress) هو نظام إدارة محتوى (CMS) يعتمد على نظام بيئي ضخم يتكون من الإضافات (plugins) والقوالب (themes). يتم تشغيل كل الكود ضمن نفس المساحة الاسمية العامة (global namespace). إذا قمت بتعريف متغير باسم…get_data()إذا قامت إحدى الدوال العادية بتنفيذ مهمة معينة، وقامت إضافة أخرى أيضًا بتعريف دالة بنفس الاسم، فقد يؤدي ذلك إلى حدوث خطأ فادح يتسبب في تعطل الموقع الإلكتروني. يمكن تجنب هذا التعارض بشكل كبير عن طريق استخدام بادئة فريدة (مثل

كيف يجب أن أقوم بتصحيح أكواد الإضافات الخاصة بي ؟

في تطوير ووردبريس، الأداة المفضلة للتصحيح (التصحيح الخاطئ) هي… (الجملة غير مكتملة في النص الأصلي).WP_DEBUGيمكنك القيام بذلك على الموقع الإلكتروني.wp-config.phpفي الملف، يتم ذلك عن طريق التعيينات (Settings).define( ‘WP_DEBUG’, true );لتفعيله، ما عليك سوى اتباع الخطوات الموضحة. سيؤدي ذلك إلى عرض جميع أخطاء PHP وتحذيراتها وإشعاراتها على الشاشة. بالنسبة لعمليات التصحيح الأكثر تعقيدًا، يمكنك استخدام أدوات أخرى مerror_log()تقوم الدالة بكتابة المعلومات إلى سجل الأخطاء الخاص بالخادم، أو يمكن استخدام أدوات تصحيح الأخطاء المتخصصة في PHP مثل Xdebug بالتعاون مع بيئة التطوير المتكاملة (IDE) الخاصة بك لتنفيذ عملية التصحيح خطوة