تعلم برمجة إضافات وردبريس [الجزء الأول]

مدرج تحت قسم: دروس
31 أكتوبر 2009

تعلم برمجة إضافات وردبريس [الجزء الأول]

في الفترة الأخيرة لاحظنا ظهور برنامج التدوين الأول وردبريس بسرعة كبيرة، وهو لم يصل لهذه الشهرة لولا الخدمات التي يُقدمها و سهولة التحكم فيه. وأنا من عُشاق هذا البرنامج على صعيد الاستخدام، ولكن لو تكلمت على الصعيد البرمجي، فالبرنامج أيضاً يتميز بسهولة التعامل معه برمجياً. لذا سنتعلّم معاً بإذن الله كيفية برمجة إضافات للوردبريس.

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

قبل البدء بكيفية البرمجة، أنصحكم باستخدام برنامج Notepad++ من أجل التخلص من مشاكل التراميز كما أنه يُسّهل عملية البرمجة من خلال تلوين الشفرات.

plugin-output

ما ستقوم بعمله هذه الإضافة

سنتعلم في هذا الدرس برمجة إضافة تقوم بعرض كلمة مُحددة تقومون بكتابتها، ويعرضها لكم في أي مكان ترغبونه. يمكنكم تحميل النسخة النهائية من الإضافة وتجربتها.

إنشاء ملف الإضافة

طبعاً بعد تنصيب الوردبريس لديك، ندخل إلى مُجلد wp-content ومن ثم مُجلد plugins. نقوم الآن بإنشاء مُجلد باسم الإضافة و ليكن مثلاً almashroo و داخل هذا المُجلد نُنشىء ملف php باسم almashroo.php مثلاً و نفتح هذا الملف، مُلاحظة صغيرة بعد فتح الملف، إذا كُنتم تستخدمون برنامج Notepad++، من قائمة Format نختار Encoding in UTF-8 without BOM من أجل تجنب مشاكل الترميز باللغة العربية. الآن سنبدأ بأول شفرة في الإضافة‪.‬

<?php
/*
Plugin Name: Name Of The Plugin // هنا نكتب اسم الإضافة و هذا السطر ضروري
Plugin URI: http://Plugin URI // هنا نكتب رابط موقع الإضافة إن وجد
Description:description of the Plugin. // هنا نكتب وصف لكي يظهر في صفحة الإضافات
Version: The Plugin's Version Number،  e.g.: 1.0 // هنا نكتب رقم الإصدار
Author: Name Of The Plugin Author // هنا نكتب اسم مُبرمج الإضافة
Author URI: http://URI_Of_The_Plugin_Author //هُنا نكتب موقع مُبرمج الإضافة
*/
?>

كما تُلاحظون هذه الشفرة هي عبارة عن تعليق فقط لأنه موجود ضمن محارف التعليق التالية:

/*

*/

السطر الأول فقط من الضروري أن يتواجد و البقية غير ضروري تواجدهم، ولكن يُفضّل أن يحتوي على الأقل على اسم الإضافة والوصف، وكذلك رقم الإصدار وموقع الإضافة، هذه الأسطر تتواجد في كل إضافة، جرب بنفسك افتح أي إضافة موجودة عندك ستجد هذه الأسطر في بدايتها وإن أحببتم قوموا بلصق الأسطر التالية لكي تكون النتيجة واحدة عند الجميع.

<?PHP
/*
Plugin Name:  المشروع
Plugin URI: http://www.almashroo.com
Description: إضافة تجريبية للورد بريس
Version: 1.0
Author: المشروع
Author URI: http://www.almashroo.com
*/
?>

الآن لو قُمنا بحفظ الملف فقط بوجود هذه السطور و ذهبنا إلى إدارة الإضافات في لوحة تحكم البرنامج سنجد أن الإضافة موجودة! إذا كما تُلاحظون أن هذه الأسطر ضرورية جداً من اجل تعريف البرنامج بوجود الإضافة و كذلك وصف عنها.

plugin-information

تعريف دالة طباعة النص وربطها بالأحداث

الآن نأتي للمرحلة الأهم و هي كتابة الشفرة التي تعرض لنا أي جملة نُريدها، و لكن قبل ذلك أُريد أن أُخبركم، أن الإضافة في الوردبريس هي عبارة عن دوال functions. فمثلاً في حالتنا هُنا، إذا أردنا طباعة جملة فقط مايلزمنا هو دالة بسيطة! ولتكن كالتالي:

function print_stat()
{
	return "هذه أول إضافة لي في الوردبريس";
}

الآن بعدما قُمنا بكتابة الدالة، يجب علينا أن نقوم بتعريفها داخل النظام، حتى إذا مرّ عليها مُعالج البرنامج لايحسبها غير موجودة ويظهر لنا خطأ. وتعريفها بسيط جداً فقط بإضافة هذا السطر:

add_action('wp_head', print_stat);

كما تُلاحظون استخدمنا دالة add_action وهي دالة جاهزة من دوال الوردبريس، نقوم من خلالها من إضافة حدث إلى النظام. كما تُلاحظون هُناك مُدخلين في هذه الدالة، الأول wp_head وهو مكان الحدث، هُناك مجموعة من الأحداث يقوم بها المعالج أثناء تشغيل برنامج الوردبريس فأنت تختار في أي مرحلة تُريد أن يُعرّف النظام الدالة التي برمجتها، وهذه صفحة بالأحداث التي يقوم بها البرنامج.

الآن بعدما قُمنا بهذا التعريف انتهت الإضافة، نعم بهذه البساطة المهم الآن فهم المبدأ ومن ثم نطور الفكرة، ستصبح الشفرة الكاملة كالتالي:

<?PHP
/*
Plugin Name:  المشروع
Plugin URI: http://www.almashroo.com
Description: إضافة تجريبية للورد بريس
Version: 1.0
Author: المشروع
Author URI: http://www.almashroo.com
*/

function print_stat()
{
	return "هذه أول إضافة لي في الورد بريس";
}
add_action('wp_head', print_stat);
?>

استدعاء دالة طباعة النص في الصفحات

جميل جداً، الآن إنتهينا من كل شيء و قُمنا بتعريف الإضافة في النظام، ولكن الآن كيف سنستدعي الإضافة؟ أو كيف سنستفيد منها في الوقت الراهن؟

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

<?php echo print_stat(); ?>

print-statement

لا أعتقد أنه يحتاج إلى شرح! فقط إستدعينا الدالة التي قُمنا بتعريفها ضمن ملف الإضافة و قُمنا بطباعتها. الآن ظهرت لنا ضرورة السطر الأخير في ملف الإضافة وهو add_action. الآن احفظ الملف ومن ثم إذهب إلى الصفحة الرئيسية في المدونة لديك وستجد الجملة ظاهرة بإذن الله.

مُلاحظة

يجب أن يكون اسم الإضافة مُميز و يعبّر عن محتوى الإضافة، لأن هناك الآلاف من الإضافات، فتخيل لو كانت كل إضافة حسبما يُريد مٌبرمجها! لذا يُفضّل أن يكون اسم الإضافة مُعبراً عن وظيفتها و بالتالي اسم المجلد الذي ستضع الإضافة فيه سيحمل نفس اسم الإضافة و هذا ما سيميزه عن غيره.

في مثالنا اسمينا المجلد باسم المشروع وكذلك ملف PHP بداخله أيضاً بنفس الاسم. ولكن لنفرض أننا نُريد تغيير اسمه لاسم يُعبر عن وظيفة الإضافة، فمثلاً اسم print_statment هو اسم الإضافة، فنُسمي المجلد عوضاً عن almashroo باسم print_statment والملف الذي بداخل المُجلد و هو عبارة عن ملف الإضافة باسم مُختصر وليكن printstat.php.

أتمنى أن أكون قد وفقت في هذا الشرح وأي سؤال أنا في الخدمة و نلتقي إن شاء الله بالجزء الثاني.

عن الكاتب

فراس اللو مُبرمج PHP,JavaScript & Ajax . يعشق البرمجة كثيراً و كذلك الويب و لكن للأسف لم يحصل على الفرصة 100% ! من هواياته التلحين و كتابة الأغاني بالإضافة إلى شغفه الكبير بكرة القدم و خصوصاً نادي برشلونة الإسباني , يُمكنكم مُتابعته على تويتر , أو من خلال المدونة

  • Share/Bookmark

التعقيبات

  1. ‫تعلم برمجة إضافات وردبريس [الجزء الثاني]‬
  2. غير معروف
  3. غير معروف

التعليقات (25) على ”تعلم برمجة إضافات وردبريس [الجزء الأول]“

  1. مجهود رائع أخ فراس
    أنا أجهز لتدوينة في نفس الموضوع موجودة في مسودتي حاليا :) لقد سبقني موقع المشروع :)

  2. رائع جداً.. بحق !

    كنت أعتقد أن برمجة إضافات ووردبريس معقدة بعض الشيء..
    لم أدرِ أنها بهذه البساطة..
    كتابة دالة واستدعاؤها..

    الدرس مفهوم، ومواصلون معك إن شاء الله..
    سأكون بانتظار الجزء القادم

    لك جزيل الشكر

  3. @ فاطمة :
    لا مُشكلة أختي الكريمة ! يُمكنك طرحها لكي يستفيد الناس منها ,فربما من يصل لمدونتك لا يصل إلى هُنا و العكس صحيح ,كما وأن الأسلوب ربما يختلف و قد يشد أُسلوبك البعض أو أُسلوبي و كذلك العكس صحيح .

    @المبدع العربي :
    أهلاً و سهلاً بك , و كم أسعدني أن الشرح واضح واستفدت منه .

  4. شكرا لك على هذا الدرس ..

    ونحن بإنتظار الدروس القادمة إن شاء الله ..

  5. مشكور أخي و بارك الله فيك
    ننتظر الأجزاء القادمة
    تم التطبيق بنجاح

  6. السلام عليكم ورحمة الله وبركاتة أخي العزيز….
    أتمني لك مستقبل مشرق, وأن تكون دوما سلاحاً قوياً يتقوي بك الإسلام , معبراً عنة تعبيراً يظهره واضحاً جلياً , وخصوصاً في هذا المجال المتاح لكل العالم في كل مكان وبحرية شبه تامة,,,,
    …اسمي : اشرف عبدالدايم
    freelancer : php , html , css and photoshop
    >>>>
    الان انتهيت من تصميم مدونتنا, انا وصديقي,,ولكن تبقي خطوه,,وهي الرفع فأتمني ان اخد بعض ملاحظاتك,,,ونصائحك كي تكون المدونة بشكل أجمل ….

  7. @ علي & أبو بكر نور:
    أهلاً و سهلاً بكم إخواني , و إن شاء الله التتمة خلال يومين فقط .

    @ashraf reda :
    شكراً لك على هذا الكلام و أتمنى أن أُسهم في عودة حضارتنا إلى ماكانت عليه من قبل , بالنسبة لمدونتك لم أفهم ما الذي تُريده و لكن أُستاذي عبدالرحمن العتيبة قام بكتابة دروس تخص هذا الموضوع تجدها هنا في الموقع .

  8. نجماوى

    موقع عربى ممتاز

    ذو محتوى أجنبى :) تمام ما شاء الله

    أحس أنى فهمت الدرس كويس

    شكرا أخويا فراس ، وجعله الله فى ميزان حساناتك

  9. @ نجماوى :
    أهلاً و سهلاً بك أخي الكريم ,و غداً إن شاء الله الدرس القادم.

  10. شكرا أخي و سوف أبحث الآن عن الجزء الثاني

  11. درس رائع
    أشكركـ
    واتمنى لكـ التوفيق

  12. أولا أحب أن أشكركم على الموقع الرائع وأشكر القائمين عليه وأتمنى المزيد من التقدم ..

    وشكرا لصاحب هذه التدوينة .. انا وضعت موقعكم في المفضلة وأنوي قراءة كل شيء يتعلق بالبرمجيات فيه وشكرا لكم على هذه الدروس الرائعة .

  13. @ الرحال :

    أهلاً و سهلاً بك في أي وقت، وإن شاء الله تجد الفائدة التي ترجوها.

    تحياتي لك

  14. حسن

    السلام عليكم أحبتنا في المشروع

    مواضيعكم متألقة ومفيدة أرجو لكم التوفيق

    عندي طلب حبذا لو يلقى تعاونا منكم والفائدة ستعم الجميع إن شاء الله

    وددت لو باستطاعتي عرض كتلة معينة من المدونة في صفحات من خارج المدونة

    اعني لو أني صممت موقعا خاصا وأضفت إلى مكونات الموقع نسخة من المدونة وأرغب بعد ذلك أن أضع جزء تسجيل الدخول على الصفحة الرئيسية وكذلك عرض آخر التدوينات في جزء آخر من الصفحة الرئيسية للموقع

    باختصار أود الاستغناء عن واجهة المدونة وأن أستجر ما أريد إلى أماكن معينة من الصفحة الرئيسية للموقع

    أرجو أن تكون الفكرة واضحة وليست مستحيلة “وآمل ألا تكون سخيفة:)”

  15. @ حسن:
    السلام عليكم أخي الكريم، يُمكنك ذلك بكل سهولة، ولكن في هذه الحالة لاتحتاج لأي شيء من الوردبريس، أقصد في بناء الصفحة الرئيسية، هل لديك فكرة عن البرمجة أم لا ؟ أنتظر جوابك لكي أساعدك بالعملية .

    تحياتي لك

  16. ماشاء الله لاقوة إلا بالله
    بارك الله فيك أخي ، أسلوبك ممتع وبسيط للغاية نتمني ان تواصل امتاعنا بمقالاتك الرائعة
    جزاك الله خيراً

  17. متابعين لك بشده موفق اخي

  18. ما شاء الله عنك ..
    أحلى من شرح موقع ورد بريس بذاته ..
    أنا عم حاول أبرمج إضافة لوسع معرفتي ب ورد بريس الخارق .
    شكرا على الإفادة ..
    تحياتي لك .

  19. جزاك الله خير

    ولكني مبتدئة تماماً بالورد بريس

    اريد ان اسأل مجموعة من الأسئلة اتمنى ان تجيب عليها

    عندما اريد ان اصمم مدونة ورد بريس

    ماهي الأشياء او البرامج الأساسية التي يجب علي تحميلها للعمل على المدونة

    وثاني شي اذا ارد ان اضع المدونة داخل موقع asp.net وتكون مدعومة بالبودكاست هل يمكنني ذلك !!!

  20. انا استخدم البرمجة asp.net
    وعلى علمي انا قاعدة البيانات الخاصة بالوردبريس my sql
    asp.net
    sql server

    هل يمكنني دمج المدونة مع الموقه بالرغم من اختلاف قاعدة البيانات

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة