البدء في تطوير إضافات (Plugins) لووردبريس (WordPress) يعني أنك امتلكت القدرة على إضافة ميزات جديدة، وتحسين العمليات بشكل أوتوماتيكي، وخلق قيمة فريدة لملايين المواقع حول العالم. سواء كان الهدف هو تلبية احتياجات عمل معينة أو مشاركة ما تطورته مع المجتمع، فإن فهم البنية الأساسية والمبادئ التي يعتمد عليها ووردبريس يعتبر الخطوة الأولى نحو النجاح. الإضافات في جوهرها مجموعات من كود PHP تتبع قواعد ووردبريس وواجهات برمجة التطبيقات (APIs) الخاصة به، وتتكامل بسلاسة مع النظام الأساسي للمنصة، وتسمح بتغيير أو تحسين سلوكها من خلال ما يُعرف بـ “الهوكات” (Hooks) والمرشحات (Filters).
إنشاء بيئة التطوير وتصميم الإضافات الأساسية
قبل أن تبدأ في كتابة أول سطر من الكود، من الضروري جدًا أن يكون لديك بيئة تطوير منعزلة ومتخصصة. ننصح باستخدام أدوات التطوير المحلية مثل Local by Flywheel أو DevKinsta أو MAMP، والتي يمكنها تهيئة بيئة تحتوي على PHP وMySQL وWordPress بسرعة.
إنشاء ملف الإضافة (plugin) الأول
كل شيء بدأ من ملف PHP واحد… في WordPress. wp-content/plugins في المجلد، قم بإنشاء مجلد جديد للإضافة (البرنامج الإضافي) الخاصة بك. على سبيل المثال، دعونا ننشئ مجلدًا باسم… my-first-plugin قم بإنشاء مجلد. ثم، داخل هذا المجلد، قم بإنشاء الملف الرئيسي، والذي عادة ما يكون يحمل نفس اسم المجلد.my-first-plugin.php。
القراءة الموصى بها من الصفر إلى الواحد: دليل شامل ودروس عملية لتطوير إضافات ووردبريس。
تعتبر التعليقات الموجودة في بداية الملف الرئيسي “بطاقة الهوية” للإضافة (plugin’s identity card)، حيث توفر جميع المعلومات الضرورية لـ WordPress للتعرف على الإضافة. فيما يلي الهيكل الأساسي لهذا الملف:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习 WordPress 插件开发的示例插件。
* Version: 1.0.0
* Author: Your Name
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ بعد حفظ الملف، قم بتسجيل الدخول إلى واجهة خلفية WordPress الخاصة بك، ثم اذهب إلى صفحة “الإضافات” (Plugins). يجب أن ترى إضافة جديدة باسم “أول إضافة لي” (My First Plugin). على الرغم من أنها لا تحتوي على أي وظائف في الوقت الحالي، إلا أنه يمكنك تفعيلها أو تعطيلها. هذا يعني أنك قد نجحت في إنشاء إطار عمل لإنشاء الإضافات الخاصة بك.
فهم المفاهيم الأساسية: خطافات الأفعال (Action Hooks) والمرشحات (Filters)
جوهر تطوير إضافات ووردبريس (WordPress plugins) يكمن في آلية الـ “هوكس” (hooks). تسمح هذه الآلية لكودك بالتدخل في العمليات الأساسية لووردبريس في نقاط زمنية محددة، وتنفيذ المهام التي تريدها.
Action Hook
تُستخدم “خطافات الإجراءات” (Action Hooks) لتنفيذ الكود عند حدوث أحداث معينة، مثل نشر مقالة، تسجيل المستخدم، أو تحميل قالب. add_action() تقوم الدالة بربط دالتك الاستدعائية (callback function) بالمكان المحدد (الhook).
على سبيل المثال، إذا أردنا عرض رسالة مخصصة في الجزء العلوي من صفحة تحرير المقالات في واجهة الإدارة، فيمكننا استخدام… edit_form_top هذا هو خطاف الإجراء (Action Hook).
القراءة الموصى بها كيف تختار وتطور إضافات WordPress عالية الجودة: دليل من الصفر إلى الخبير.。
// 在文章编辑页面顶部添加自定义提示
add_action( 'edit_form_top', 'myplugin_edit_form_top_message' );
function myplugin_edit_form_top_message( $post ) {
if ( 'post' === $post->post_type ) {
echo '<div class="notice notice-info"><p>هذه رسالة تنبيه مخصصة من ‘أول إضافة لي”!</p></div>';
}
} مخالب المرشحات (Filter Hooks)
تُستخدم “خطافات المرشحات” (Filter Hooks) لتعديل البيانات. فهي تتيح لك تغيير قيم البيانات قبل استخدامها، سواء كان ذلك عند حفظها في قاعدة البيانات أو عرضها في المتصفح. add_filter() دالة.
مثال كلاسيكي على ذلك هو تعديل الكلمات الأخيرة في محتوى المقال. يمكننا استخدام… the_content مرشحات.
// 在文章内容末尾附加版权信息
add_filter( 'the_content', 'myplugin_add_copyright_to_content' );
function myplugin_add_copyright_to_content( $content ) {
if ( is_single() ) {
$content .= '<p><small>© 2026 جميع الحقوق محفوظة. تم تحسين هذا المقال باستخدام إضافتي (البرنامج الإضافي).</small></p>';
}
return $content;
} إنشاء صفحة لإدارة الإضافات والخيارات
لكي يتمكن المستخدمون من تكوين إضافتك، يجب عليك إنشاء صفحة إعدادات خاصة بهم. يوفر ووردبريس مجموعة واسعة من واجهات برمجة التطبيقات (APIs) لإضافة هذه الصفحات إلى قائمة الإدارة وللتحكم في خياراتها.
إضافة قائمة الإدارة
الاستفادة من add_menu_page() أو add_options_page() يمكن للدوال أن تضيف قائمة رئيسية أو فرعية لإضافتك. عادةً، تُضاف الإضافات البسيطة تحت قائمة “الإعدادات” كصفحة فرعية.
أولاً، نحتاج إلى ربط دالة مع عملية تهيئة المسؤول (المدير) لتسجيل القوائم.
// 在管理后台添加设置菜单
add_action( 'admin_menu', 'myplugin_add_admin_menu' );
function myplugin_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'myplugin-settings', // 菜单别名 (slug)
'myplugin_render_settings_page' // 用于输出页面内容的回调函数
);
} صفحة إعدادات التصميم وخيارات الحفظ
بعد ذلك، نحتاج إلى تحديد… myplugin_render_settings_page هذه الدالة مسؤولة عن إنشاء نموذج HTML على الصفحة ومعالجة بيانات النموذج المقدمة من المستخدمين. سنستخدم واجهة برمجة التطبيقات (API) الخاصة بإعدادات ووردبريس (WordPress Settings API) لتسجيل الخيارات والتحقق من صحتها وحفظها بطريقة آمنة.
القراءة الموصى بها كيف تختار وتطور إضافات WordPress عالية الجودة: من الأساسيات إلى المهارات المتقدمة.。
// 渲染设置页面
function myplugin_render_settings_page() {
?>
<div class="wrap">
<h1>إعدادات الإضافة الخاصة بي</h1>
<form action="/ar/options.php/" method="post" 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>
<?php
}
// 初始化设置
add_action( 'admin_init', 'myplugin_settings_init' );
function myplugin_settings_init() {
// 注册一个设置组和字段
register_setting(
'myplugin_settings_group', // 设置组名
'myplugin_option_message' // 选项名,将保存在 wp_options 表中
);
// 添加一个设置章节
add_settings_section(
'myplugin_section_basic',
'基础设置',
null, // 章节描述回调函数,可以为空
'myplugin-settings' // 页面别名
);
// 向章节添加一个字段
add_settings_field(
'myplugin_field_message',
'自定义消息',
'myplugin_field_message_render', // 渲染字段 HTML 的函数
'myplugin-settings',
'myplugin_section_basic'
);
}
// 渲染 ‘自定义消息’ 字段
function myplugin_field_message_render() {
$option = get_option( 'myplugin_option_message' );
?>
<input type='text' name='myplugin_option_message' value='<?php echo esc_attr( $option ); ?>'>
<p class="description">الرسائل المدخلة هنا ستظهر على الواجهة الأمامية.</p>
أنا لا أعرف ماذا أقول. الآن، يمكنك رؤية صفحة الإعدادات التي تحتوي على مربع إدخال نصوص في قسم “الإعدادات” -> “إضافاتي”, ويمكنك حفظ الرسائل. لاستخدام هذه الميزة، يمكنك القيام بذلك من خلال واجهة المستخدم الأمامية. get_option( 'myplugin_option_message' ) احصل على قيمته.
تنفيذ رموز قصيرة مخصصة
تسمح الرموز المختصرة (Shortcodes) للمستخدمين باستخدام علامات بسيطة مكونة من أقواس مربعة (مثل [ ] لتنفيذ مهام معينة أو لعرض محتوى محدد. [my_shortcode]يمكن إدراج المحتوى الديناميكي في المقالات أو الصفحات أو الأدوات الصغيرة. هذه طريقة سهلة الاستخدام تتيح للمستخدمين الاستفادة من الميزات المتقدمة التي توفرها الإضافات (البرامج الإضافية).
تسجيل الرمز القصير
الاستفادة من add_shortcode() هناك دالة مخصصة لتسجيل الرموز المختصرة الخاصة بك. تقبل هذه الدالة معلمتين: علامة الرمز المختصر والدالة المسؤولة عن معالجته.
على سبيل المثال، يمكننا إنشاء كود مختصر. [display_greeting]يمكنه عرض تحيات مختلفة حسب الوقت، ويمكن أيضًا قبول معلومة ما اختياريًا. name المعاملات (Parameters).
// 注册自定义短代码
add_shortcode( 'display_greeting', 'myplugin_render_greeting_shortcode' );
function myplugin_render_greeting_shortcode( $atts ) {
// 设置默认属性值
$attributes = shortcode_atts(
array(
'name' => '访客',
),
$atts,
'display_greeting'
);
// 获取当前小时
$hour = date( 'H' );
$greeting = '';
if ( $hour < 12 ) {
$greeting = '早上好';
} elseif ( $hour < 18 ) {
$greeting = '下午好';
} else {
$greeting = '晚上好';
}
// 构建输出
$output = sprintf(
'<div class="myplugin-greeting"><p><strong>%s، %s!</strong> مرحبًا بكم في موقعنا.</p></div>',
esc_html( $greeting ),
esc_html( $attributes['name'] )
);
return $output;
} يمكن للمستخدمين الآن إدخال النصوص في المحرر. [display_greeting name="张三"]سيتم استبدال هذا الجزء أثناء تحميل الصفحة بتحية شخصية مخصصة.
الملخصات
تطوير إضافات لووردبريس (WordPress plugins) هو عملية قوية ومرنة، وجوهرها يكمن في فهم واستخدام نظام الخطافات (hooks) وواجهة برمجة التطبيقات الأساسية (core APIs). يبدأ الأمر بإنشاء ملف PHP يحتوي على الرؤوس القياسية (standard headers)، ثم يتم توسيع الوظائف من خلال خطافات الأفعال (actions) والمرشحات (filters)، واستخدام واجهة برمجة التطبيقات للإعدادات (settings API) لإنشاء واجهات تكوين سهلة الاستخدام من قبل المستخدمين، بالإضافة إلى توفير أكواد مختصرة (shortcodes) مفيدة. بذلك، تكون قد بنيت إضافة تحتوي على هيكل أساسي ووحدات وظيفية شائعة الاستخدام. عند دمج هذه الوحدات الأساسية معًا وتعميقها، واتباع معايير ترميز ووردبريس وأفضل الممارسات الأمنية، ستتمكن من إنشاء إضافات قوية تلبي مختلف الاحتياجات.
الأسئلة الشائعة الأسئلة المتداولة
ما هي المعرفة الأساسية المطلوبة لتطوير إضافات (plugins) لبرنامج ووردبريس (WordPress)؟
يجب أن تمتلك معرفة أساسية بلغة البرمجة PHP، حيث أن الإضافات (Plugins) مكتوبة بشكل أساسي باستخدام هذه اللغة. بالإضافة إلى ذلك، سيكون من المفيد أن يكون لديك فهم أساسي للغات HTML وCSS وJavaScript لإنشاء واجهات المستخدم والوظائف التفاعلية. والأهم من ذلك، أن تكون على دراية بالمفاهيم الأساسية لمنصة WordPress، مثل "الخطافات" (Hooks) و"الحلقات" (The Loop) وهيكل القوالب (Template Hierarchy).
كيف يمكن تصحيح أخطاء البرامج الإضافية (الإضافات) لمنصة ووردبريس (WordPress) أثناء عملية التطوير؟
يُنصح بتفعيل وضع التصحيح (Debugging Mode) في بيئة التطوير المحلية لـ WordPress. wp-config.php في الملف، سيتم… WP_DEBUG تم تعيين الثابت على قيمة trueيمكنك أيضًا تثبيت إضافات لمراقبة الاستعلامات (مثل Query Monitor) لتتبع عمليات الاستعلام على قاعدة البيانات، وتنفيذ الروابط (hooks)، وتحميل السكريبتات، وهذا مفيد للغاية لتحسين الأداء وفحص الكود من الناحية المنطقية.
كيف يمكن لإضافتي (البرنامج الإضافي) أن تدعم الترجمة الدولية (التعددية اللغوية)؟
يستخدم WordPress إطار عمل GNU gettext للترجمة والتدويل. يجب تعريف ذلك في بداية ملف الكود الرئيسي للإضافة الخاصة بك. Text Domain و Domain Pathفي الكود، استخدم… __()、_e() استخدم دوال مثل `str_replace` أو `str_replace_all` لتغيير جميع النصوص التي تحتاج إلى الترجمة. بعد ذلك، استخدم أدوات مثل Poedit لإنشاء ملفات الترجمة النهائية. .pot ملف قالب، مخصص لمساعدة مترجمي النصوص على إنشاء الترجمات. .po و .mo ملف.
كيف يمكنني تقديم إضافتي بشكل آمن إلى مجلد الإضافات الرسمي لووردبريس (WordPress Official Plugins Directory)؟
أولاً، يجب عليك إنشاء حساب على موقع WordPress.org وتقديم الإضافة (البرنامج الإضافي) هناك. يجب أن يتبع كودك معايير ترميز WordPress، ولا يجوز أن يحتوي على أي كود مشفر أو مخفي. يجب أن يتبع كل من دليل الإضافة (plugin directory)، الملف الرئيسي (main file)، اللقطات الشاشة (screenshots)، وملف التوضيح (README) هياكل محددة. سيقوم فريق المراجعة بفحص جودة الكود وأمانه بالإضافة إلى اتفاقية الترخيص (والتي يجب أن تكون متوافقة مع معايير GPL).
ما التالي، ما التالي؟
القراءة الموسعة والمعرفة العملية
فيما يلي بعض الموضوعات ذات الصلة بموضوع هذه المقالة وهي مناسبة لمزيد من القراءة المتعمقة. وغالباً ما يكون من الأفضل إعطاء الأولوية للبدء بالمقال الأقرب إلى مشكلتك الحالية ثم التوسع تدريجياً إلى المواضيع المحيطة.
- أفضل 10 إضافات لـ WordPress يجب تثبيتها في عام 2026 لتحسين أداء الموقع وزيادة أمانه
- ١٠ إضافات WordPress عملية ينصح باستخدامها لتحسين أداء الموقع وزيادة أمانه بشكل كبير
- ١٠ إضافات أساسية لتحسين أداء وأمان مواقع ووردبريس
- دليل شامل لتكوين واستخدام إضافات WooCommerce: إنشاء موقع تجاري إلكتروني من الصفر
- مقدمة: لماذا اختيار استخدام ووردبريس (WordPress) للتطوير؟