تعتبر عملية إدارة الكتّاب في مدونات ووردبريس من أكثر المهام استنزافًا للوقت، فلطالما عانيت من فوضى كبيرة في تنظيم فريق المحتوى على موقعي. ومع زيادة عدد الكتاب والمحررين، أصبحت عملية التنسيق بينهم صعبة، بل أضحت شبه مستحيلة، فقد كان بعضهم يستخدم Google Docs لكتابة المقالات وإرسالها، وبعضهم يرسلونها على شكل ملفات Word، فيما كان البقية يرفعها مباشرةً على الموقع، لكن كما نعرف فلا يوفر ووردبريس إمكانية إضافات ملاحظات على المقالات من قبل المحرر أو المدير.
وبغيةَ إيقاف هذه الفوضى، بحثت عن إضافات جاهزة لإدارة المهام في مستودع إضافات ووردبريس، لكن لم أجد شيئاً يناسب طبيعة عملي؛ لهذا لم يكن أمامي خيار إلا تطوير إضافة خاصة أطلقت عليها اسم "إدارة المقالات". لم أكن أعرف من أين أبدأ، لكني تعلمت بالمحاولة والتنظيم.
في هذا المقال، سأطلعكم على كيفيّة بناء هذه الإضافة خطوةً بخطوة، بدءًا من التّخطيط الأوليّ وصولًا إلى آخر التحديثات، مع توضيح قدرات الذكاء الاصطناعي في تنظيم الأفكار وتنسيق الأكواد البرمجيّة. كما سأبين كيف أسهمت الإضافة في توفير وقت ثمين عبر تسهيل عمليات إسناد المهام ومتابعة أداء الكتّاب في الموقع.
ما هي إضافة إدارة المقالات؟
تعد إضافة "إدارة المقالات" حلًا متكاملًا لتنظيم عملية توزيع المهام على فريق الكتابة في المدونة، حيث تنظم عملية إسناد المهام واستلامها من داخل نظام ووردبريس دون الحاجة إلى استخدام Google Docs أو Trello أو غيرها من الأدوات الأخرى. كما تسهم في حفظ الوقت المهدور في المراسلة عبر واتساب وتلغرام وتطبيقات المراسلة، وتحلّ مشكلات النسخ المعدلة وتشتّت المتابعة بين الكاتب والمحرر.
خطوات تطوير إضافة إدارة المقالات
استغرقت عملية تطوير الإضافة يومي عمل كاملين، حيث مرّت بمراحل متعدّدة من التصميم الأولي إلى تخطيط الكود البرمجي، ثم تنفيذه بمساعدة من ChatGPT، وفيما يلي الخطوات التفصيلية التي مررت بها لتطوير الإضافة:
1. تصميم مخطط الإضافة
في البداية وضعت تصوّرًا مبدئيًا لوظيفة الإضافة، لتحديد المشكلة التي تعالجها، وكيفية تنظيم الصلاحيات، وعدد الجداول الجديدة الواجب إنشاؤها في قاعدة البيانات، وشكل واجهات لوحة تحكم الإضافة وفق صلاحية كلّ مستخدم.

2. إنشاء مجلد الإضافة وملف الكود الأساسي
أنشأت مجلدًا مخصصًا للإضافة باسم articles-manager ووضعت بداخله ملف الإضافة الأساسي articles-manager.php.
3. طلب الكود المبدئي من الذكاء الاصطناعي
استعنت بـ ChatGPT-4 لكتابة الكود البرمجي، وأعطيته الطلب (Prompt) التالي: أريد كود برمجي لإضافة ووردبريس مهمتها إدارة عملية توزيع المهام على فريق كتاب المحتوى على شكل مقالات جديدة من قبل المحرر أو المدير في الموقع. ثم حددت الحقول الواجب تخزينها في قاعدة البيانات، والتي سيدخلها المدير أو المحرر لتظهر لدى الكاتب، مع التنويه على أهمية فصل الصلاحيات وتحديد الأذونات المسموحة.
4. مراجعة الكود الناتج وطلب تعديلات أخرى
بعد توليد الكود بالكامل نقلته إلى محرر الأكواد البرمجية، وبدأت بقراءته وتفحص كافة الأكواد بشكل دقيق، فاكتشفت بعض الحقول التي لم تُدرج في واجهة إضافة المقالات من قبل المدير، وبالتالي لن تظهر للمستخدم (الكاتب)؛ فطلبت من ChatGPT إجراء التعديلات اللازمة لضمان عمل الإضافة بشكل جيد، كما أضفت بعض الحقول بشكل يدوي.
5. إضافة الأكواد اليدوية
بعد إنتاج الكود النهائي للإضافة والإطلاع عليه والتأكد من خلوه من الأخطاء، تأكدت من ضبط الصلاحيات بشكل جيّد، ثم استخدمت sanitize_textarea_field لحماية المدخلات النصية؛ لتجنّب وقوع أخطاء في الترميز وإبقاء النص محفوظًا في قاعدة البيانات بنفس الطريقة التي أدخلها المستخدم، وللحماية من ثغرات Sql injection و XSS.

6. إنشاء صفحة حول الإضافة لشرح عملها
بعد التأكد من جودة الكود البرمجي للإضافة، أنشأت صفحةً جديدةً داخل إعدادات الإضافة باسم "حول الإضافة" بشكل يدوي، مهمّتها شرح طريقة عملها لكل مستخدم بناءًا على الصلاحيات التي يتمتّع بها (مدير/ محرر - كاتب).

7. دمج ملفات الإضافة في ملف واحد
بعد الانتهاء من كتابة الأكواد بشكل كامل، جمعت جميع ملفات الإضافة في ملف واحد، حيث أضفت ملفات الأنماط CSS داخل ملف الإضافة الرّئيسيّ articles-manager.php لتقليل وقت التحميل وزيادة السرعة، ثم ضغطت الإضافة في ملف بصيغة zip، من أجل عمل تجارب للإضافة.
تجربة إضافة إدارة المقالات
بعد رفع الإضافة إلى الموقع التجريبي عن طريق تبويب "الإضافات" وتنصيبها وتفعيلها، ظهر في لوحة تحكم ووردبريس قسم جديد باسم "إدارة المقالات" يحتوي على صفحتين "إدارة المقالات" و"حول الإضافة".

تجربة الإضافة بدور المدير أو المحرر
عندما يدخل المدير عبر حسابه إلى صفحة إدارة المقالات، تظهر أمامه الواجهة المخصّصة للمستخدمين برتبة مدير/ محرر، حيث يستطيع عبرها إسناد مهمة لأحد الكتاب عبر إدخال مقال جديد بالمحددات التالية:
- عنوان المقال
- العبارة الرئيسية
- تصنيف المقال
- اسم الكاتب
- ملاحظات حول طريقة كتابة المقال
- موعد التسليم بالتاريخ والساعة المحددة
بعد ذلك، يظهر المقال لدى الكاتب المحدّد في لوحة التحكم الخاصّة به، مع كافة المعلومات التي أدخلها المدير.

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

بالضغط عليه يدخل الكاتب إلى واجهة الإضافة، ليجد المهمة المسندة إليه على شكل مقال في جدول المقالات بحالة: "قيد التنفيذ".

وعندما يضغط الكاتب على زر إنشاء مسودة، يُنشأ مقال في المسودات بالعنوان الذي وُضع من قبل المحرر، ثم بعد الانتهاء من تنفيذ المقال، يستطيع الكاتب تغيير حالة المقال من "قيد التنفيذ" إلى "جاهز"، فيظهر إشعار في لوحة تحكم المدير أو المحرر -الذي أسند المهمة- أنّ الكاتب (اسم الكاتب) أنهى المقال (عنوان المقال).

التطويرات المستقبلية للإضافة
نظرًا لأهمية عمل الإضافة وحاجة الكثير من أصحاب المدونات والمواقع لها، أخطط حاليًا لإضافة بعض التحسينات عليها تمهيدًا لرفعها على مستودع إضافات ووردبريس. حيث سأضيف المزايا التالية:
- ترجمة الإضافة لأكثر من لغة بدءًا من اللغة الانكليزية.
- ربط الإشعارات مع WhatsApp Cloud Api وإمكانية استخدام الخطة المجانية لضمان وصول الإشعارات عبر تطبيق واتساب أيضًا.
- إضافة تقارير شهرية لكل كاتب بالمقالات المنجزة خلال الشهر.
وختامًا، تطوير إضافة ناجحة يحتاج منك أن تفهم وتحدد مشكلتك قبل أن تبحث عن الحلّ، فأحيانا قد يؤدي الاعتماد على حلول جاهزة لتجارب أشخاص آخرين إلى تفاقم المشكلة أكثر من حلّها.
فبعد تطوير إضافة إدارة المقالات واستخدامها بشكل فعلي، وفرت الكثير من الوقت والجهد خلال عملي، فأصبحت أتابع عن كثب كل المهام من مكان واحد، فكانت حلًّا لمشكلة حقيقة واجهتني وتواجه الكثير من مديري المحتوى في المدونات والمواقع الإلكترونية.
اترك تعليقك