إعداد بيئة تطوير إضافات ووردبريس وهيكل المجلدات
الخطوة الأولى في تطوير إضافات لووردبريس (WordPress plugins) هي إنشاء بيئة تطوير محلية منظمة وفعالة. هذا لا يضمن فقط سير عملية التطوير بسلاسة، بل يعد أمرًا بالغ الأهمية أيضًا عند توزيع الإضافات وتصحيح الأخطاء (التصحيح) والصيانة في المستقبل. ستحتاج إلى بيئة تحتوي على لغة PHP وقاعدة بيانات MySQL بالإضافة إلى خادم ويب (مثل Apache أو Nginx). ننصح بشدة باستخدام حزم برمجية متكاملة مثل Local by Flywheel أو XAMPP أو MAMP، حيث يمكنها تثبيت جميع المكونات الضرورية بنقرة واحدة، مما يتيح لك التركيز على كتابة الكود نفسه.
عند إنشاء إضافة (plugin)، فإن اتباع هيكل المجلدات القياسي يعد بداية جيدة لعملية التطوير. يجب أن تحتوي كل إضافة على ملف PHP رئيسي واحد على الأقل، وعادة ما يكون اسم هذا الملف مطابقًا لاسم المجلد الرئيسي للإضافة نفسها. هذا الملف يعتبر “نقطة الدخول” إلى الإضافة بأكملها، وهو مسؤول عن تسجيل معلومات الإضافة وتهيئة الوظائف الأساسية لها. نسمي هذا الملف الرئيسي “مل
يجب أن يحتوي الملف الرئيسي لهذا الإضافة على تعليقات رأسية محددة، حيث يقوم ووردبريس بتحليل هذه التعليقات للتعرف على معلومات الإضافة. تشمل البيانات الوصفية الرئيسية اسم الإضافة، والوصف، والإصدار، والمؤلف، بالإضافة إلى أدنى إصدار من ووردبريس المطلوب لتشغيل الإضافة.
القراءة الموصى بها دليل شامل لتطوير إضافات ووردبريس: من الصفر إلى نشرها بشكل فعلي على المواقع الإلكترونية。
مثال على هيكل مجلد أساسي كالتالي:
your-awesome-plugin/
├── your-awesome-plugin.php (主文件)
├── uninstall.php (卸载脚本)
├── includes/
│ ├── class-core.php
│ └── functions.php
├── admin/
│ ├── css/
│ ├── js/
│ └── admin-page.php
├── public/
│ ├── css/
│ └── js/
└── assets/
└── icon-128x128.png لتفعيل الإضافة، يجب عليك إضافة تعليقات معينة في بداية الملف الرئيسي للإضافة. على سبيل المثال، هناك سكريبت تفعيل بسيط جدًا للإضافة، باسم… your-awesome-plugin.phpيمكن أن يبدأ المحتوى كالتالي:
<?php
/**
* Plugin Name: 我的超强功能模块
* Plugin URI: 你的插件官网地址
* Description: 这是一个用于演示WordPress插件开发基础结构的功能模块。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: your-awesome-plugin
*/ قم بوضع المجلد الذي يحتوي على هذا الكود داخل مجلد تثبيت ووردبريس. /wp-content/plugins/ في الطريق المحدد، اذهب إلى صفحة “الإضافات” (Plugins) لتسجيل الدخول إلى الواجهة الخلفية، وسوف تتمكن من رؤية إضافتك الأولى وتفعيلها.
إتقان المفاهيم الأساسية للتطوير: الهاكات (hooks) والكود المختصر (short code)
بعد فهم الهيكل الأساسي، يأتي الخطوة التالية وهي الدراسة المتعمقة للمفاهيم الأساسية التي تمنح ووردبريس مرونتها: خطافات الأفعال (Action Hooks) وخطافات المرشحات (Filter Hooks)، والتي تُعرف مجتمعة باسم “الخطافات” (Hooks). هذه الخطافات تعمل كجسر للتفاعل بين الإضافات (Plugins) وجوهر ووردبريس أو بين الإضافات نفسها. تسمح خطافات الأفعال بتنفيذ الكود الخاص بك في أوقات محددة، بينما تسمح خطافات المرشحات بتعديل البيانات التي ستُستخدم لاحقًا.
استخدام خطافات الأفعال (Action Hooks) add_action() يمكنك استخدام دوال لتنفيذ مهام معينة عند نشر المقالات. على سبيل المثال، إذا أردت تنفيذ دالة مخصصة عند نشر مقال، فيمكنك الاستفادة من الوظائف المتاحة في ووردبريس لتحقيق ذلك. publish_post هذا هو خطاف الإجراء (Action Hook).
القراءة الموصى بها الدليل النهائي لتطوير الإضافات في ووردبريس: بناء إضافات احترافية من الصفر إلى واحد.。
function my_custom_function_on_publish($post_id) {
// 当文章发布时,执行这里的代码
// 例如,可以发送一封邮件通知
}
add_action('publish_post', 'my_custom_function_on_publish'); استخدام خطافات المرشحات (Filter Hooks) add_filter() الدوال… مثال شائع جدًا على استخدامها هو تعديل نهاية محتوى المقالات. يوفر ووردبريس (WordPress) العديد من الأدوات للقيام بذلك. the_content تسمح لنا المرشحات (الفلاتر) بتعديل المحتوى النهائي الذي يتم عرضه.
function append_custom_text_to_content($content) {
if (is_single()) { // 仅在单篇文章页面生效
$custom_text = '<p><strong>شكرًا لقراءتك!</strong> تمت معالجة هذا المقال بواسطة إضافتي (البرنامج الإضافي).</p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'append_custom_text_to_content'); بالإضافة إلى الميزة المتعلقة بالخيوط (hooks)، فإن الكود المختصر (short codes) يمثل ميزة قوية أخرى. يسمح للمستخدمين باستخدام علامات بسيطة داخل محررات المقالات أو الصفحات، مما يسهل عليهم تنسيق المحتو [show_recent_posts]لإدراج محتوى أو وظائف معقدة بشكل ديناميكي، من الضروري استخدام كود قصير (short code). add_shortcode() دالة.
function recent_posts_shortcode_handler($atts) {
// 配置短码的默认属性
$attributes = shortcode_atts(array(
'count' => '5',
), $atts);
// 根据属性查询文章逻辑
// ...
return $output; // 返回要显示的HTML内容
}
add_shortcode('show_recent_posts', 'recent_posts_shortcode_handler'); بناء واجهة إدارة خلفية للمكوّنات الإضافية.
عادةً ما يحتاج الإضافة (البرامج الإضافية) ذات الميزات الكاملة إلى توفير خيارات تكوين للمستخدمين، وهذا يتطلب إنشاء صفحات إدارة في واجهة ووردبريس الخلفية (الخلفية). توفر ووردبريس مجموعة واسعة من واجهات برمجة التطبيقات (APIs) لتسهيل هذه العملية. يمكن إنشاء أبسط صفحات الإدار add_menu_page() و add_submenu_page() دالة للإضافة.
أولاً، يجب عليك استخدام… admin_menu استخدم “مخالب الأفعال” (Action Hooks) لتسجيل قوائمك وصفحاتك. على سبيل المثال، قم بإنشاء عنصر قائمة رئيسي وصفحة إعدادات.
function my_plugin_add_admin_menu() {
// 添加顶级菜单
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限(管理员)
'my-plugin-settings', // 菜单slug
'my_plugin_settings_page_callback', // 用于输出页面内容的回调函数
'dashicons-admin-generic', // 图标
80 // 菜单位置
);
// 添加子菜单(可选项)
add_submenu_page(
'my-plugin-settings', // 父级菜单slug
'关于', // 页面标题
'关于', // 子菜单标题
'manage_options',
'my-plugin-about',
'my_plugin_about_page_callback'
);
}
add_action('admin_menu', 'my_plugin_add_admin_menu'); بعد ذلك، ستحتاج إلى تعريف دالة تعاقدية (callback function). my_plugin_settings_page_callback لعرض صفحة تعديل الإعدادات والنموذج HTML الخاص بها، من الضروري استخدام واجهة برمجة التطبيقات (API) الخاصة بإعدادات ووردبريس (WordPress Settings API) لحفظ وتحقق من المدخلات المقدمة من المستخدمين بشكل آمن. تتضمن هذه الواregister_setting()、add_settings_section() و add_settings_field()。
function my_plugin_settings_init() {
register_setting('my_plugin_settings_group', 'my_plugin_options');
add_settings_section(
'my_plugin_main_section',
'主要设置',
null,
'my-plugin-settings'
);
add_settings_field(
'api_key',
'API密钥',
'my_plugin_api_key_field_callback',
'my-plugin-settings',
'my_plugin_main_section'
);
}
add_action('admin_init', 'my_plugin_settings_init'); وبهذه الطريقة، تم دمج واجهة إعدادات الخلفية الموحدة والآمنة ضمن واجهة إدارة WordPress، مما يتيح للمستخدمين تكوين الإضافات الخاصة بك بسهولة.
القراءة الموصى بها دليل للبدء في تطوير إضافات ووردبريس: بناء أول توسعة وظيفية الخاصة بك من الصفر。
أمان الإضافات، تحسين أدائها، وتوزيعها
عندما يقترب موعد الانتهاء من عملية التطوير، تصبح مراعاة الأمان والأداء أمرًا بالغ الأهمية. أولاً، يجب التأكد من أن جميع المدخلات من المستخدمين تم التحقق منها وتنقيتها. لا يجب أبدًا الوثوق بالبيانات القادمة من الواجهة الأمامية. يوفر وورد sanitize_text_field()、esc_html()、wp_kses() و prepare()(يُستخدم في استعلامات قواعد البيانات) للمساعدة في تحقيق هذا الهدف.
على سبيل المثال، عند معالجة إرسال النماذج:
$user_input = isset($_POST['user_data']) ? sanitize_text_field($_POST['user_data']) : '';
$safe_output = esc_html($user_input); بالنسبة لجميع استعلامات SQL، يجب استخدام… $wpdb الفئات وما يتعلق بها prepare() طرق لمنع تهديدات الاختراق عن طريق إدخال الكود البرمجي غير المرغوب فيه (SQL Injection).
global $wpdb;
$user_id = 1;
$query = $wpdb->prepare(
"SELECT * FROM {$wpdb->prefix}my_table WHERE user_id = %d",
$user_id
);
$results = $wpdb->get_results($query); فيما يتعلق بتحسين الإضافات (plugins)، من المهم إدارة تحميل السكريبتات (scripts) وملفات الأنماط (style sheets) بشكل صحيح. استخدم… wp_enqueue_script() و wp_enqueue_style() يجب تحقيق ذلك عن طريق تنفيذ الدوال (functions) بشكل مناسب وضمان تحميلها فقط على الصفحات التي تحتاجها. بالإضافة إلى ذلك، يجب النظر في تحسين عمليات التخزين المؤقت (الكاش) واستعلامات قواعد ال
أخيرًا، حان الوقت لمشاركة إبداعك مع العالم أجمع. ستحتاج إلى إنشاء خطة مفصلة لتنفيذ ذلك. readme.txt الملف يجب أن يتبع المواصفات الرسمية لووردبريس (WordPress)، ويتضمن وصف الإضافة (plugin description)، خطوات التثبيت (installation steps)، أسئلة وأجوبة شائعة (FAQ)، سجلات التحديثات (update logs)، وغيرها. هذا الملف ضروري لتقديم الإضافة إلى الدليل الرسمي لووردبريس. يمكنك استخدام أداة مثل “WordPress Readme Generator” لمساعدتك في إنشائه. بالإضافة إلى ذلك، يُنصح باستخدام نظام إدارة الإصدارات (مثل Git) لإدارة كود الإضافة، وتوفير مسار واضح للمستخدمين لترقية الإضافة إلى إصدارات جديدة.
الملخصات
يبدأ دورة تطوير إضافات ووردبريس بإنشاء البيئة المناسبة وكتابة تعليقات تفعيل بسيطة، ثم يتم فهم آليات الاستخدام الأساسية للـ “hooks” (المكونات المتصلة بالنظام) والكود المختصر (shortcodes) بشكل أعمق، ومن بعد ذلك يتم بناء واجهات إدارة متخصصة. وأخيرًا، يتم الانتهاء بضمان أمان الإضافة وتحسين أدائها وتوزيعها على المستخدمين. كل خطوة في هذه الدورة ضرورية للغاية، وإتقان هذه المعرفة الأساسية بشكل سليم سيمهد الطريق أمامك لبناء أي وحدات وظيفية معقدة وقابلة للتخصيص بشكل كبير. التطبيق العملي هو مفتاح التعلم، لذا ننصحك بالبدء بإضافة بسيطة ذات احتياجات واضحة، ومن ثم تحسينها تدريجيًا عن طريق إضافة المزيد من الميزات. في النهاية، ستتمكن من إنشاء إضافات ووردبريس قوية وآمنة ومح
الأسئلة الشائعة الأسئلة المتداولة
ما هي المعرفة البرمجية الأساسية المطلوبة لتطوير إضافات (Plugins) لمنصة ووردبريس (WordPress)؟
يجب أن تكون على دراية جيدة بلغة PHP، لأنها الأساس الذي يقوم عليه برنامج WordPress. بالإضافة إلى ذلك، فإن امتلاك معرفة أساسية بلغات HTML وCSS وJavaScript أمر بالغ الأهمية أيضًا، حيث أن هذه اللغات مسؤولة عن بناء واجهات المستخدم الأمامية وتنفيذ التفاعلات مع المستخدمين.
فهم أساسيات قاعدة بيانات MySQL، وخاصة القدرة على إجراء عمليات بسيطة من نوع CRUD (إنشاء، قراءة، تعديل، حذف)، سيكون مفيدًا للغاية عند التعامل مع بيانات الإضافات (البرامج الإضافية) في المواقع الإلكترونية. بالإضافة إلى ذلك، فإن فهم الهيكل الأساسي لبرنامج WordPress وعملياته (مثل قوالب المواقع ومفاهيم التكرار) سيساعد
كيفية تصحيح أخطاء البرامج الإضافية (الإضافات) التي قمت بتطويرها لنظام ووردبريس (WordPress)؟
أكثر الطرق فعالية هو تفعيل وضع التصحيح (Debugging Mode) في ووردبريس. يتم ذلك عن طريق الوصول إلى مجلد الإعدادات الرئيسي (settings folder) لموقع الويب، ثم البحث عن خيار “Debugging Mode” وتفعيله. wp-config.php في الملف، سيتم… WP_DEBUG تم تعيين الثابت على قيمة trueوبهذه الطريقة، ستظهر أخطاء PHP وتحذيراتها وإشعاراتها مباشرة على الصفحة.
في الوقت نفسه، استخدم… error_log() تقوم الدالة بكتابة معلومات التصحيح إلى سجل الأخطاء على الخادم، أو تستخدم واجهات التطوير في المتصفح مثل Console وNetwork لتحليل طلبات JavaScript و AJAX الخاصة بالجزء الأمامي من الموقع. بالنسبة للكود المعقد، يمكن تجربة استخدام أدوات تصحيح متخصصة مثل Xdebug لإجراء عمليات التصحيح عن طريق وضع نقاط توقف (breakpoints).
هل يمكن للإضافات (plugins) إضافة جداول جديدة إلى قاعدة البيانات؟ وكيف يتم ذلك؟
نعم، يمكن للإضافات (البرامج الإضافية) إنشاء جداول قواعد بيانات مخصصة حسب الحاجة. الممارسة الأفضل هي تنفيذ عملية الإنشاء عند تفعيل الإضافة. لتحقيق ذلك، يجب كتابة كود SQL الخاص بإنشاء الجداول داخل دالة، ثم استخدام هذه register_activation_hook() يتم استخدام دالة لتثبيته (أي لتوصيله بالنظام أو لتنفيذ المهمة المطلوبة).
عند إنشاء جدول، يجب استخدام… (It is essential to use…)$wpdbيتم استخدام الرموز الأولية (البادئات) لضمان فرادة أسماء الجداول، وذلك لتجنب تكرارها. dbDelta() تم إنشاء دالة لتنفيذ أمر `CREATE TABLE`، حيث أن هذه الدالة قادرة على التعامل بشكل ذكي مع عمليات إنشاء وتحديث الجداول. لا تنسى توفير خيار لحذف الجدول ضمن سكريبتات إزالة الإضافة (plugin uninstallation scripts).
كيفية التعامل مع ترجمة الإضافات (البرامج الإضافية) لتكون متعددة اللغات؟
يستخدم WordPress إطار عمل تقنية GNU gettext لتحقيق التدويل. أولاً، في الكود، يتم استخدام علامات خاصة لجميع النصوص التي تحتاج إلى ترجمة. __()、_e() قم بتغليف دوال الترجمة المختلفة، وقم بتحديد “حقل نصي” فريد لإضافتك.
في الملف الرئيسي للإضافة (plugin main file)، يتم ذلك عن طريق… load_plugin_textdomain() توجد دوال لتحميل ملفات الترجمة. بعد ذلك، يمكنك استخدام أدوات مثل Poedit لاستخراج جميع النصوص القابلة للترجمة من المصدر الأصلي وإنشاء ملفات الترجمة النهائية. .pot ملفات القوالب، ثم استخدام هذه القوالب لإنشاء نسخ مخصصة للغات المختلفة. .po والمُجمَع (المُترجم) بعد عملية التجميع (الترجمة). .mo الملفات: يمكن أن تصبح ملفات اللغة فعالة عند وضعها في المجلد المخصص للغة المحددة داخل دليل الإضافات (plugins directory).
ما التالي، ما التالي؟
القراءة الموسعة والمعرفة العملية
فيما يلي بعض الموضوعات ذات الصلة بموضوع هذه المقالة وهي مناسبة لمزيد من القراءة المتعمقة. وغالباً ما يكون من الأفضل إعطاء الأولوية للبدء بالمقال الأقرب إلى مشكلتك الحالية ثم التوسع تدريجياً إلى المواضيع المحيطة.
- دليل تطوير إضافات ووردبريس: كيف تبني إضافتك المخصصة الأولى من الصفر
- ما هو الثيم الفرعي (Subtheme) لـ WordPress؟
- كيف تصبح مطورًا لإضافات ووردبريس: دليل شامل من الصفر إلى النهاية
- البدء من الصفر: العملية الكاملة لتطوير مواقع ووردبريس الحديثة وأفضل الممارسات
- دليل شامل لتطوير إضافات ووردبريس: من المبتدئين إلى الخبراء في إنشاء إضافات متخصصة