Languages: العربية • English • বাংলা • Español • a Plugin 日本語 한국어 • Português do Brasil • Русский • ไทย • 中文(简体) • (Add your language)
قبل البدء بقراءة المقال ننصح بتحويل اتجاه المقال الى العربي لعدم توافق الفقرات مع هذا القالب او قم بنسخه الى اي برنامج للقراءة .
إضافات الووردبريس تسمح بسهولة تعديل، وتخصيص، وتعزيز مدونة الووردبريس. بدلا من تغيير البرمجة الأساسية للووردبريس، يمكنك إضافة وظائف مع إضافات الووردبريس. هنا هو التعريف الأساسي:
إضافات الووردبريس: إضافات الووردبريس هو برنامج, او مجموعة واحدة او اكثر من الوظائف, مكتوبة بواسطة لغة البرمجة PHP، التي تضيف مجموعة خاصة من الميزات أو الخدمات لمدونة الووردبريس، والتي يمكن دمجها بسلاسة مع مدونة تستخدم خاصية نقاط الدخول والطرق المقدمة من Plugin Application Program Interface (API).
هل ترغب باضافة بعض الوظائف الجديدة أو المعدلة للووردبريس؟ أول شيء يجب القيام به هو البحث المتنوع في مستودعات الووردبريس والمصادر لمعرفة ما إذا كان شخص ما قد برمج بالفعل اضافة تناسب احتياجاتك. والا، فان هذا المقال سوف يرشدك خلال عملية إنشاء اضافتك الخاصة.
بقراءتك لهذا المقال فهذا يعني انك على استعداد لطتابة الوظائف الاساسية للووردبرس، وبرمجة PHP.
مصادر مفيدة لك
في هذا المقطع من المقال سوف نتعلم من خلالها الخطوات التي تحتاجها للمتابعة، والامور التي يجب مراعاتها عند إنشاء وورد لإضافات جيدة التنظيم.
'*ملاحظة' الاسم يجب ان يكون بالحروف اللاتينية
الخطوة التالية هي إنشاء ملف php
مع اسم مشتق من اسم الاضافة الخاصة بك الذي اخترته . على سبيل المثال ، إذا سميت الاضافة الخاصة بك "test Plugin" ، قد استدعاء ملف PHP الخاصة بك test-Plugin.php . مرة أخرى ، حاول اختيار اسم فريد. الناس الذين سيثبتون اضافتك سيضعون هذا الملف ملف PHP في مجلد اضافات الووردبريس في تركيبها ( عادة wp-content/plugins/
)، لذلك لا يمكن ان يحمل الاضافتين نفس الاسم .
وثمة خيار آخر هو تقسيم الاضافة الخاصة بك إلى ملفات متعددة. يجب أن يكون اضافات الووردبريس الذي تقوم بانشائه ملف PHP واحد على الأقل؛ يمكن أن يحتوي أيضا على ملفات جافا سكريبت ملفات CSS، وملفات الصور، وملفات اللغة، إذا كانت هناك عدة ملفات، قم باختيار اسم فريد لدليل(المجلد) وللملف الرئيسي PHP (عادة نفس الاسم ) ، مثل سنسمي المجلد test-Plugin فيكون الملف الرئيسي test-Plugin.php ، ووضع جميع ملفات الاضافة الخاصة بك في هذا الدليل، وإخبار المستخدمين البرنامج المساعد الخاص بك لتثبيت الدليل بأكمله تحت wp-content/plugins/. لاحظ أن تركيب الووردبريس يكون في الدليل wp-content/plugins/, وقد يتم نقله الى دليل اخر، لذلك يجب استخدام
plugin_dir_path() و plugins_url()
لمسارات مطلقة وعناوين المواقع. لمزيد من التفاصيل انظرتحديد الاضافة والدلائل المحتوى.
في النهاية ان ملف php الاضافة يشير الى الملف الرئيسي للاضاقة في المجلد الرئيسي داخل دليل wp-content/plugins/ او المجلد الفرعي.
'ملاحظةوتحذير امني' : ضع في الاعتبار ان حجب إمكانية الوصول المباشر إلى ملفات PHP لاضافتك الخاصة عن طريق إضافة السطر التالي في الجزء العلوي من كل ملف، أو مما لا شك فيه بانه امتناع عن تنفيذ اكواد php الحساسة بذاتها قبل استدعاء أي من وظائف الووردبريس.
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
إذا كنت ترغب في استضافة الاضافة الخاصة بك على https://wordpress.org/plugins/، تحتاج أيضا إلى إنشاء ملف readme.txt بالتنسيق القياسي، وتضمينه مع الاضافة الخاصة بك. انظر https://wordpress.org/plugins/about/readme.txt لوصف التنسيق أو استخدام التلقائي plugin 'readme.txt' generator.
لاحظ أن مستودع اضافات الووردبريس يأخذ "المتطلبات" و "اختبار تحديث" الإصدارات من README.TXT في الوسم المستقرة.
ايضا من المفيد جدا إنشاء صفحة ويب ليكون بمثابة الصفحة الرئيسية لاضافة الووردبريس الخاصة بك. هذه الصفحة ينبغي أن تصف كيفية تثبيت الاضافة، وما تقوم بها، وما إصدارات الووردبرس المتوافقة معه, ما تم تغييره من إصدار الى اخر من الاضافة الخاصة بك، وكيفية استخدام الاضافة.
الآن حان الوقت لوضع بعض المعلومات في ملف الرئيسي لاضافتك الخاصة.
اقرأ عن هذا الموضوع في كتيب مطوري اضافات الووردبريس.
اقرأ عن هذا الموضوع في كتيب مطوري اضافات الووردبريس.
لنقوم ببناء الاضافة وبرمجته بحول الله وقوته حان الوقت لتخرج اضافتك الى الحقيقة
طريقة عمل خطاطيف(جلسات)الاضافة هي أنه في أوقات مختلفة أثناء تشغيل الووردبريس، فان الووردبريس يقوم بالتحقق مما إذا كانت أية الإضافة سجلت مهام او وظائف للتشغيل في ذلك الوقت، فإذا كان الأمر كذلك، فانه يتم تشغيل المهام او الوظائف. هذه المهام او الوظائف تعدل السلوك الافتراضي للووردبريس.
على سبيل المثال، قبل احداث او تكوين الووردبريس عنوانا لمقال معين لاظهاره على المتصفح، فإنه سيتحقق اولا من ما إذا سجلت أية مهام من قبل اضافات الووردبريس (الملحقات البرمجية Plugin) لـ "تصفية وفلترة" الجلسات (الخطاطيف hooks) التي تدعى "the_title". إذا كان الأمر كذلك، يتم تمرير نص العنوان بدوره من خلال كل مهمة مسجلة، والنتيجة النهائية هي ما يتم عرضها. لذلك، إذا اضافتك الخاصة (Plugin) تحتاج إلى إضافة او احداث بعض المعلومات إلى عنوان المطبوع او المعروض، فإنه يمكن تسجيل "the_title" كمهمة تصفية.
مثال آخر هو "احداث" جلسة (hooks) باسم "wp_footer". فقط قبل نهاية الصفحة HTML الووردبريس المولدة، فإنه سوف يتم التحقق من ماإذا كانت هناك وظائف مسجلة لاية اضافة (Plugin) باسم "wp_footer" لعمل الجلسة لشتغيلها.
يمكنك معرفة المزيد حول كيفية تسجيل الوظائف لكل تصفية وعمل الجلسات (hooks)، وما هي جلسات (hooks) الاضافات (Plugins) المتاحة في الووردبريس، في Plugin API. إذا وجدت بقعة في اكواد الووردبرس واردت احداث جلسة عمل أو فلترة جلسة، ولا توجد في الووردبريس، فيمكنك أقترح جلسات جديدة (وهي تؤخذ بالاعتبار)؛ انظر Reporting Bugs لمعرفة كيف ذلك.
طريقة اخرى للملحقات الاضافية للووردبريس Plugin لاضافة الدوال (الوظائف او المهام functionality) الى الووردبريس عن طريق علامات مخصصة للقالب Template Tags. شخص ما قد يرغب باستخدام المحلق الاضافي الخاص بك (Plugin) فانه يستطيع من خلال علامة القالب اضافة العلامة الى القالب, في الشريط الجانبي , مقطع من محتوى المقال, او حيثما يراه مناسبا. على سبيل المثال: الملحق الاضافي الذي يقوم باضافة العلامات الجغرافية (geographical tags) الى المقال ربما تحدد وظيفة علامة (وسام) القالب باسم geotag_list_states() في الشريط الجانبي, الذي يضم قائمة بكل حالات المقالات المعلمة بنفس العلامة, مع الروابط على اساس صفحات الارشيف المفعلة في الملحق الاضافي Plugin.
لتحديد علامة مخصصة للقالب، ببساطة نقوم بكتابة دالة PHP وتوثيق ذلك في الصفحة الرئيسية للمحلق الاضافي Plugin لمساعدة مستخدمي الملحق الاضافي Plugin الذي قمت ببرمجته و/أو في ملف PHP الرئيسي للملحق الإضافي Plugin .
انها فكرة جيدة عند توثيق الدلة لتعطي مثالا بالضبط على ما يجب على المستخدم فعله في ملف القالب لاستخدام الدالة، التي يجب تضميته ضمن كود <?php هنا محتوى الدالة ?>.
معظم الملحقات الاضافية للوردبريس (WordPress Plugins) تحتاج الحصول على بعض المدخلات من اصحاب المواقع أو مستخدمي المدونة وحفظها بين الجلسات لاستخدامها في مهام التصفية، ومهام العمل، ومهام القالب. هذه المعلومات يجب حفظها في قاعدة البيانات الووردبريس، من أجل استمرارها بين الجلسات. هناك أربعة (4) طرق لحفظ بيانات الملحق الإضافي في قاعدة البيانات:
انظر Creating Options Pages انشاء خيارات الصفحات لمزيد من المعلومات حول كيفية إنشاء صفحة خيارات خاصة بك يتم حفظها تلقائيا .
الوورد بريس له ألية لفظ وتحديث واسترجاع البيانات الشخصية وتحديد قطع من البيانات ( الخيارات ) في قاعدة بيانات الووردبريس. وقِيم(قيمة) الخيار ممكن ان يكون على شكل سلسلة او مصفوفة او على هيئة php والتي يتم سلسلتها او يتم تحويلها الى متسلسلة قبل التخزين وعدم سلسلتها عند الاسترجاع. مسميات الخيار هي عبارة عن متسلسلات والتي يجب ان تكون فريدة لكي لا تتصادم سواء مع الووردبريس او مع تطبيقات اخرى.
انها فكرة جيدة للتقليل من عدد الخيارات التي يمكنك استخدامها للملحق الاضافي الخاص بك. على سبيل المثال، بدلاً من تخزين 10 خيارات باسماء مختلفة فبالامكان تخزينها كمصفوفة مسلسلة لـ 10 عناصر باسم واحد للخيار.
وفيما يلي الوظائف الرئيسية للملحق الاضافي الخاص بك الذي يمكن أن تستخدم للوصول إلى خيارات الووردبريس.
add_option($name, $value, $deprecated, $autoload);
add_option تعني إنشاء خيار جديد: لن يفعل شيئا إذا كان الخيار موجود بالفعل.
$name:
قيمة مطلوبة (سلسلة). اسم الخيار المراد إضافته.
$value:
اختياري (مختلطة)، من الافتراضي إلى سلسلة فارغة. قيمة الخيار ليتم تخزينها.
$deprecated:
اختياري (سلسلة)، لم تعد تستخدم من قبل الووردبريس ، يمكنك تمرير سلسلة فارغة أو خالية لهذا الامر إذا كنت ترغب في استخدام المعلمة $ autoload التالية.
$autoload:
اختياري، من الافتراضي إلى "نعم" (التعداد: "نعم" أو "لا"). إذا تم تعيينه إلى "نعم" فان الإعداد يتم استرداده تلقائيا من قبل الدالة wp_load_alloptions </ TT> .
get_option($option);
get_option تعني استرداد قيمة الخيار من قاعدة البيانات.
$option: قيمة مطلوبة (سلسلة). اسم الخيار الذي تريد إرجاع قيمته. بامكانك العثور على قائمة من الخيارات الافتراضية التي يتم تثبيتها مع الووردبريس في Option Reference الخيار المرجعي .
update_option($option_name, $newvalue);
update_option
تعني تحديثات أو إنشاء قيمة الخيار في قاعدة البيانات (لاحظ أن <TT> add_option </ TT> يجب أن لا يسمى إذا كنت لا تريد استخدام المعلمات <tt>$deprecatedأو $autoload ).
$option_name: قيمة مطلوبة.(سلسلة). اسم الخيار للتحديث.
$newvalue: قيمة مطلوبة. (سلسلة | مصفوفة| كائن) القيمة الجديدة للخيار.
وإذا افترضنا أن الملحق الإضافي لديه بعض الخيارات المخزنة في قاعدة بيانات الووردبريس (انظر الفقرة أعلاه)، وربما كنت تريد أن يكون لها لوحة إدارة التي ستمكن مستخدمي البرنامج الخاص بك من عرض وتحرير الخيارات. لعمل ذلك اقرا عن إضافة القوائم الإدارية. .
حينما تنتهي من اتمام الملحق الاضافي وكانت لديك رغبة في توزيعه وتدويله وترجمته فعليك القيام بما يلي
يرجى ملاحظة انه لا يتم تحميل ملفات اللغة تلقائيا. بل يتم ذلك عن طريق الكود ادناه:
load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );
لجلب السلسلة ببساطة استخدم __('String name','your-unique-name'); لارجاع الترجمة او لاظهارها _e('String name','your-unique-name'); . بعد ذلك انتقل الى مجلد الترجمة في الملحق الاضافي الخاص بك.
ينصح بشدة أن تقوم بتدويل الملحق الاضافي الخاص بك، بحيث يمكن للمستخدمين من مختلف البلدان تعريب ذلك. هناك مرجعية شاملة عن التدويل، بما في ذلك قسم كامل تصف كيفية تدويل الملحق الاضافي الخاص بك، في I18n for WordPress Developers .
هذا المقطع يصف الخطوات الضرورية لتحديث المحلق الاضافي الخاص بك المستضاف على https://wordpress.org/plugins/, بما في ذلك تفاصيل حول استخدام Subversion |الاصدارات السابقة (SVN) with wordpress.org. على افتراض انك قدمت ملحقك الاضافي لـمستودع الملحق الاضافي للووردبريس, ربما بعد فترة تحتاج لاضافة تغييرات او معالجة اخطاء او اضافة ميزات اخرى الى برمجتك, عند ذلك الوقت نتمنى منك ان تقوم بذلك, والعمل على التغييرات وتنفيد تغييرات في جذر البرنامج كما تريد, هذه التغييرات ستكون مرئية للجمهور, ومع ذلك فلن يستطيع الا الناس الذي لديهم عقلية تقنية من معرفة التغييرات التي اجريت على البرنامج عن طريق SVN اما البقية وكذلك لوحة تحكم الووردبريس فلن يحدث عندهم اي تغيير ولن تظهر لهم رسالة بذلك.
عندما تريد اطلاق نسخة حديثة فكن مستعدا لما يلي:
امنح النظام بضع دقائق للعمل، ومن ثم قم بالتحقق من صفحة الملحقات الاضافية للووردبريس wordpress.org وتثبيت الملحق الاضافي الخاص بك لمعرفة قيما إذا كان كل شيء حدث بشكل طبيعي وصحيح اثناء التحديث وان صفحة تثبيت الووردبريس تظهر تحديثا لبرنامج الملحق الاضافي الخاص بك (التحقق من التحديثات ربما تكون مؤقتة، لذلك فإن هذه العملية قد تستغرق بعض الوقت - حاول زيارة صفحة "التحديثات المتوفرة" في صفحة تثبيت الووردبريس الخاص بك).
استكشاف الأخطاء وإصلاحها:
اخيرا جملة من الاقتراحات المختلفة بشان تطوير الملحق الاضافي الخاص بك
إجراء تغييرات على قاعدة البيانات، رغم ذلك، هي العملية الأكثر تعقيدا، وحسابيا أكثر كلفة. لذلك، حاول تقليل عمليات الكتابة في قاعدة البيانات. حاول الحصول على كل الاكواد الجاهزة التي تحتاج إليها، أولا، حتى تتمكن من إجراء العمليات الكتابة فقط.