<div>السلام عليكم ورحمة الله وبركاته
لقد قمت مؤخرًا بتطوير اضافة للوردبرس تقوم بسحب محتويات من مواقع اخرى كاليوتيوب
ومقالات من موقع articles**** ووضعها تلقائيًا في المدونة حسب المدة الزمنية التي تحددها.
يمكن رؤية مثال على عمل الاضافة من هنا:
http://1inker.com/blog/
ويمكن تنزيلها من هنا:
http://1inker.com/plugin/download/
القسم التالي لمن يرغب ببرمجة موديولات للاضافة:
حسب رأيي افضل ما في الاضافة هو نظام الموديولات الذي يعطيها مرونة كبيرة،
الاضافة تعمل بنظام ال oop ويمكن لأي شخص اضافة موديول وصفحة له في لوحة التحكم بسهولة كبيرة وبدون الدخول في عمق النظام.
الموديولات تنقسم لنوعين:
نوع يبحث عن كلمة - keyword- في موقع معين كاليوتيوب ويأتي بنتائج عشوائية
والنوع الاخر مثل ال rss يسحب معلومات بدون البحث
كل الموديولات يجب ان تنفذ ال interface التالي:
كود PHP:
الدالة الأولى للتفريق بين نوعي الموديولات
الثانية لمعرفة اذا كان للموديول صفحة في لوحة التحكم
الثالثة وهي اهم دالة: تقوم باحضار البيانات من الموقع وادخالها إلى المدونة
اما الدالتين الاخيرتين فيتم تنفيذهما عند اضافة وازالة الموديول
لماذا؟
بعض الموديولات لها خيارات اضافية (مثل اضافة اليوتيوب لها خياري طول وعرض الفيديو)
هذا الخيارات خاصة بهذا الموديول فقط ونريد اضافتها للوحة التحكم عن طريق الدالة
add_option التي في الوردبرس(التي تضع هذه الخيارات في قاعدة البيانات) حتى نتمكن من تغيير قيمتها بسهولة.
لهذا يوجد دالتين لاضافة وازالة هذه البيانات عند الضرورة
لماذا interface?
ليست فلسفة زائدة او شيء ولكن حتى نتأكد من وجود جميع الدوال التي نحتاجها في الموديول قبل تشغيله
بالاضافة لهذا الانترفيس يوجد دالة لوحة التحكم والتي عن طريقها يمكن عمل لوحة تحكم للموديول:
كود PHP:
if (!function_exists("dummyCP")){
function dummyCP()
{
echo "module cp
";
}
}
انتبه ان اسم الدالة يجب ان يكون module****CP
يعني اسم الموديول وبعده CP .
لا يمكن تغيير هذا الاسم لأن كل الاضافة تعمل على ال **** conventions
هذا مثال على موديول للاضافة:
اسم الملف: dummy.php
<div style="margin:20px; margin-top:5px"> كود PHP:
<div class="alt2"> <div dir="ltr" style="****-align:left;"> <span style="color: #000000"><span style="color: #0000BB">