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

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

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

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

بناء بيئة تنمية محلية

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

إنشاء الملف الرئيسي للإضافة (plugin)

يجب أن يحتوي كل إضافة (plugin) لـ WordPress على ملف رئيسي (main file)، وهو نقطة الدخول إلى الإضافة نفسها. يجب وضع هذا الملف في الموقع المحدد داخل المجلد الخاص بالإضافة (plugin folder). wp-content/plugins يجب أن يتم وضع الملف في مجلد مستقل داخل الدليل، وأن يُسمى باسم فريد. على سبيل المثال، إذا كنت تريد إنشاء إضافة (plugin) تسمى “Greetings”، فيمكنك إنشاء ملف بالاسم “Greetings.xml”. my-first-plugin مجلد، وإنشاء الملف الرئيسي داخله. my-first-plugin.php

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

يجب أن يحتوي بداية هذا الملف على تعليق خاص برأس الإضافة (plugin header comment)، وذلك لتوفير المعلومات الأساسية عن الإضافة لنظام ووردبريس (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
 */

الهيكل الأساسي للإضافة وآلية الاستجابة للأحداث (Hook Mechanism)

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

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

تنقسم الخطافات (Hooks) بشكل أساسي إلى فئتين: الإجراءات (Actions) والمرشحات (Filters). تقوم خطافات الإجراءات (Action Hooks) بتنفيذ الكود الخاص بك عند حدوث أحداث معينة، مثل نشر مقال أو تحميل واجهة الإدارة الخلفية. add_action() تُستخدم الدوال لعملية التثبيت (mounting). أما خطافات المرشحات (filter hooks) فهي مخصصة لتعديل البيانات، حيث تسمح لك بتغيير قيمها قبل أن تُرسل إلى قاعدة البيانات أو المتصفح. add_filter() دالة للتثبيت (Function for mounting).

على سبيل المثال، إذا أردت إضافة نص مخصص إلى قسم أسفل الصفحة في موقع الويب، يمكنك استخدام… wp_footer هذا الخطاف الخاص بالإجراءات (Action Hook):

function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">شكرًا لاستخدامكم هذا الموقع!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

إنشاء صفحة لإدارة الإضافات (Plugins)

تحتاج العديد من الإضافات (البرامج الإضافية) إلى صفحات إعدادات داخل واجهة إدارة ووردبريس (WordPress Admin). يتم تحقيق ذلك عادةً عن طريق تثبيت هذه الإضافات بطريقة معينة داخل نظام ووردبريس، بحيث تت admin_menu يتم تنفيذ ذلك باستخدام “خطافات الإجراءات” (action hooks). يجب عليك تعريف دالة، واستخدام هذه الدالة لتنفيذ العمليات المطلوبة. add_menu_page() أو add_options_page() استخدم دوال مثل `register_page` لتسجيل الصفحة، واعرف دالة أخرى لعرض محتوى HTML للصفحة.

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

function myplugin_add_admin_menu() {
    add_options_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'myplugin-settings', // 菜单别名
        'myplugin_render_settings_page' // 用于显示页面内容的函数
    );
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );

function myplugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h2>إعدادات الإضافة الخاصة بي</h2>
        <form method="post" action="/ar/options.php/" data-trp-original-action="options.php">
            <?php
            settings_fields( 'myplugin_settings_group' );
            do_settings_sections( 'myplugin-settings' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="ar"/></form>
    </div>
    أنا لا أعرف ماذا أقول.

تنفيذ وظائف الإضافات (plugins) ومعالجة البيانات (data processing)

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

استخدم واجهة برمجة التطبيقات (API) للإعدادات لحفظ الخيارات.

معالجة إرسال النماذج وعمليات قاعدة البيانات يدويًا أمر معقد وغير آمن. توفر إعدادات ووردبريس (WordPress) واجهة برمجة التطبيقات (API) كطريقة موحدة وآمنة لتسجيل الإعدادات والتحقق منها وحفظها. تتضمن هذه الإعدادات ثلاث دوال أساسية:register_setting()add_settings_section() و add_settings_field()

يوضح المثال التالي كيفية تسجيل إعدادات لحقل نصي:

استضافة.كوم استضافة مشتركة
أداء عالٍ مع وحدات المعالجة المركزية AMD EPYC، ووحدات تخزين NVMe SSD وLiteSpeed، ودعم داخلي متخصص على مدار الساعة طوال أيام الأسبوع، وتدابير أمنية متقدمة بما في ذلك SSL، وقوة الغاشمة، والحماية من البرامج الضارة والحماية من DDoS، وتوفير ما يصل إلى 731 تيرابايت 4 تيرابايت
function myplugin_settings_init() {
    register_setting( 'myplugin_settings_group', 'myplugin_greeting_text' );

add_settings_section(
        'myplugin_section',
        '基础设置',
        null,
        'myplugin-settings'
    );

add_settings_field(
        'myplugin_field_greeting',
        '问候语',
        'myplugin_field_greeting_render',
        'myplugin-settings',
        'myplugin_section'
    );
}
add_action( ‘admin_init’, ‘myplugin_settings_init’ );

function myplugin_field_greeting_render() {
    $value = get_option( ‘myplugin_greeting_text’, ‘你好,世界!’ );
    echo ‘<input type=“text” name=“myplugin_greeting_text” value=“’ . esc_attr( $value ) . ‘” />’;
}

إنشاء جداول قاعدة بيانات مخصصة

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

أولاً، قم بتسجيل خطاف التفعيل (activation hook) في ملف الإضافة الرئيسي الخاص بك:

register_activation_hook( __FILE__, ‘myplugin_create_database_table’ );

ثم قم بتعريف الدالة المسؤولة عن إنشاء الجداول:

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

function myplugin_create_database_table() {
    global $wpdb;
    $table_name = $wpdb->prefix . ‘myplugin_data’;
    $charset_collate = $wpdb->get_charset_collate();

$sql = “CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        name varchar(100) NOT NULL,
        email varchar(100) NOT NULL,
        created_at datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
        PRIMARY KEY (id)
    ) $charset_collate;”;

require_once( ABSPATH . ‘wp-admin/includes/upgrade.php’ );
    dbDelta( $sql );
}

أمان الإضافات، والتدويل، والاستعداد للإصدار.

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

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

الأمان هو الأولوية القصوى في تطوير الإضافات (البرامج الإضافية). يجب دائمًا التحقق من مدخلات المستخدمين (فحص التنسيق) وتنقيتها (إزالة الأجزاء الضارة). استخدم الدوال المتاحة في ووردبريس لتحقيق ذلك. esc_html()esc_attr()sanitize_text_field() يتم استخدام هذا الأمر لإخراج البيانات أو معالجتها. عند تنفيذ استعلامات قاعدة البيانات، يتم استخدامه للحصول على المعلومات المطلوبة من قاعدة البيانات. $wpdb->prepare() طرق للوقاية من هجمات الاستغلال الخبيث للكود (SQL Injection Attacks). في الوقت نفسه، استخدم… current_user_can() تحقق من أذونات المستخدم، وتأكد من أن المستخدمين المصرح لهم فقط هم من يمكنهم تنفيذ العمليات الحساسة.

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

إنجاز عملية تدويل المكوّنات الإضافية.

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

في كودك، يجب أن يتم الكتابة على النحو التالي:

$greeting = __( ‘你好,世界!’, ‘my-first-plugin’ );
echo esc_html( $greeting );

_e( ‘设置已保存。’, ‘my-first-plugin’ );

ملاحظة: يجب أن يتطابق البارامتر الثاني في دالة الترجمة، وهو “نطاق النص” (Text Domain)، مع ما تم تعريفه في تعليقات بداية الإضافة (plugin header comments). Text Domain تمامًا متطابق. بعد ذلك، يمكنك استخدام أدوات مثل Poedit لإنشاء الملفات المطلوبة. .pot ملف قالب، مخصص لمساعدة مترجمي النصوص على إنشاء الترجمات. .po و .mo أترجم المستندات.

الملخصات

تطوير إضافات ووردبريس (WordPress plugins) هو عملية تحويل الأفكار إلى وظائف عملية، ويعتمد ذلك على فهم عميق للهيكل الأساسي لووردبريس، وخاصة نظام الاستجابات (hook system). يبدأ الأمر بإعداد البيئة المناسبة، ثم كتابة الملفات الرئيسية للإضافة، واستخدام آليات الاستجابات مثل الأفعال (actions) والمرشحات (filters)، ومن ثم معالجة البيانات باستخدام واجهات برمجة التطبيقات الخاصة بالإعدادات (settings API) وواجهات برمجة التطبيقات الخاصة بقاعدة البيانات (database API). كل خطوة في هذه العملية تتبع نمطًا واضحًا. وأخيرًا، من خلال تطبيق ممارسات أمنية صارمة ودعم كامل للتعددية اللغوية (internationalization)، يمكن تحويل إضافتك من مشروع شخصي إلى منتج جاهز للنشر. بمجرد إتقان هذه الأساسيات، يمكنك استكشاف مجالات أكثر تعقيدًا مثل تخصيص أنواع المقالات (custom article types)، وتكامل واجهات برمجة التطبيقات على نمط REST (REST API integration)، وتطوير وحدات النصوص من نوع Gutenberg (Gutenberg blocks)، لبناء إضافات ووردبريس أقوى وأكثر حداثة

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

هل يجب أن أكون خبيرًا في PHP لتطوير مكونات WordPress الإضافية؟

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

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

ننصح بتفعيل وضع التصحيح (Debugging Mode) في ووردبريس. wp-config.php في الملف، سيتم… WP_DEBUG تم تعيين الثابت على قيمة trueسيؤدي ذلك إلى عرض جميع أخطاء PHP وتحذيراتها وإشعاراتها على الشاشة. في الوقت نفسه، يمكن استخدام… error_log() تقوم الدالة بكتابة معلومات التصحيح إلى سجل الأخطاء على الخادم، أو باستخدام أدوات مطوري المتصفحات لتصحيح أخطاء الجافا سكريبت على الجانب الأمامي (العميل).

كيف يمكن تجنب تعارض أسماء الدوال الموجودة في الإضافات (plugins) مع إضافات أخرى؟

لتجنب حدوث تعارضات في أسماء الدوال أو الفئات أو الثوابت، يجب دائمًا استخدام بادئات فريدة. من أفضل الممارسات استخدام أسماء الإضافات (plugins) أو الاختصارات كبادئات. على سبيل المثال، إذا كانت الإضافة الخاصة بك تسمى “Awesome Slider”, فيمكنك استخدام بادئة مثل “AS” كبادئة لأسماء الدوال أو الف as_ أو awesome_slider_ يُستخدم كبادئة لجميع الدوال المخصصة. ويجب اتباع نفس المبدأ أيضًا بالنسبة لأسماء الفئات (الكلاسات).

هل يمكن تقديم الإضافات المدفوعة إلى الدليل الرسمي للإضافات في ووردبريس؟

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