قم بإنشاء ملحقات WordPress باستخدام تقنيات OOP

Hassan Alkhalaf
15 Min Read

يمكن أن تساعد التعليمات البرمجية الموجهة للكائنات ، من بين أشياء أخرى ، في تنظيم وإضافة إمكانية إعادة الاستخدام إلى التعليمات البرمجية الخاصة بك. في هذا البرنامج التعليمي ، سوف أعلمك أساسيات كتابة مكون إضافي لبرنامج WordPress باستخدام تقنيات موجهة للكائنات. سنستخدم Dribbble API كمثال لهذا البرنامج التعليمي. مستعد؟

ما نحن بصدد تعلمه:

    • فوائد استخدام OOP لملحقات WordPress.
    • كيفية إعداد رمز قصير.
    • كيفية إعداد علامة قالب.
    • كيفية تمكين الرمز المختصر في أدوات WordPress.
    • مثال من العالم الحقيقي باستخدام واجهة برمجة تطبيقات Dribbble.

بالمناسبة ، إذا كان هذا يبدو متقدمًا للغاية وكنت تبحث فقط عن بعض المكونات الإضافية الجاهزة التي يمكنك تنزيلها واستخدامها على موقعك ، فراجع دورتنا المجانية حول أفضل مكونات WordPress الإضافية لاستخدامها في تحسين محركات البحث ، والنسخ الاحتياطي ، والأمان ، و اكثر.

لماذا تستخدم OOP؟

قبل المضي قدمًا في هذا البرنامج التعليمي ، يجب أن يكون لديك على الأقل فهم أولي لكتابة مكون WordPress الإضافي. كتب جوناثان برنامجًا تعليميًا رائعًا عن “كيفية كتابة ملحق WordPress”. اعطها قراءة.

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

- Advertisement -

دريبل

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

اقرا ايضا: افضل 10 مواقع استضافة مجانية ووردبريس لعام 2022

1. إعداد فئة البرنامج المساعد

يعتمد الكود الكينوني على الفئات والطرق (الوظائف). لنقم بإنشاء صفنا الأساسي ، والذي سيتفاعل مع أدوات وفلاتر WordPress.

تحتوي فئات PHP على دالة مُنشئ ، __construct، والذي يتم تنفيذه بمجرد إنشاء مثيل جديد للفئة. سيتم تسجيل جميع أدوات وفلاتر WordPress تحت مُنشئ فئة البرنامج المساعد الخاص بنا. دعنا نمضي قدمًا ونسجل رمزًا قصيرًا للمكوِّن الإضافي الخاص بنا. ال add_shortcode() الوظيفة / الخطاف سيخضعان لدالة المُنشئ.

يتم تسجيل المثيل الجديد للفئة باستخدام new كلمة رئيسية. الرجوع إلى السطر الأخير في الكود أدناه.

- Advertisement -

add_shortcode: المعلمة الأولى هي علامة الرمز القصير ، والثانية هي وظيفة رد الاتصال.

لاحظ كيف نستخدم مصفوفة في معامل وظيفة رد الاتصال؟ لتسجيل وظائف رد الاتصال داخل كائن ، علينا استخدام مصفوفة.

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

- Advertisement -

وهكذا ، كلما كان Dribbble يجب تنفيذ الرمز القصير ، فسيستدعي shortcode طريقة WPDribbble صف دراسي.

لازلت مشوش؟

2. فئة Dribbble API

نظرًا لأننا لا نطلب حاليًا أي وظائف رائعة لواجهة برمجة التطبيقات ، فسننشئ غلافًا بسيطًا لواجهة برمجة التطبيقات لـ Dribbble. توجد بالفعل مكتبة متاحة لـ Dribbble ، ولكن من أجل هذا البرنامج التعليمي ، سنكتب مكتبة خاصة بنا. سيساعدك هذا على فهم المفاهيم الكامنة وراء هذا البرنامج التعليمي.

سنقوم بكتابة ملف DribbbleAPI الكائن ، وتسجيل طريقة تسمى getPlayerShots() للتفاعل مع Dribbble API وإرجاع مجموعة من أحدث اللقطات.

لنقم بإنشاء ملف جديد لهذه الفئة يسمى DribbbleAPI.php

في ال DribbbleAPI class ، نقوم بإعداد متغير الفئة التالي:

    • $apiUrl: الرابط إلى Dribbble API ، حيث سيتم إرسال المكالمات.

نبدأ الخاصية أو اسم المتغير بـ public لتحديد إمكانية استرداد قيمة هذه الخاصية من خارج الفصل الدراسي. إذا كنا نرغب بدلاً من ذلك في قصر الوصول إلى الخاصية على هذه الفئة فقط ، وربما أي فئات ترث منها ، فسنستخدم protected بادئة. يشار إلى هذه الممارسة باسم التغليف. في حالتنا ، حددنا $apiUrl الملكية باعتبارها protected منشأه.

لدينا القاعدة الجاهزة لغلاف Dribbble API الخاص بنا. الآن ، سنقوم بكتابة عملية جديدة تسمى getPlayerShots(). سيكون الغرض من هذه الطريقة هو الاستعلام عن واجهة برمجة التطبيقات وتحويل النتيجة إلى مصفوفة للاستخدام داخل المكون الإضافي الخاص بنا.

تعلم المزيد عن wp_remote_get.

ال getPlayerShots الطريقة لها حجتين. الوسيطة الأولى هي معرف المستخدم ، والذي سيتم استخدامه في عنوان URL الخاص بواجهة برمجة التطبيقات. والوسيطة الثانية هي القيمة النهائية التي سيتم استخدامها لترقيم السجلات.

ال getPlayerShots طريقة استخدام WordPress ‘ wp_remote_get وظيفة للاستعلام عن Dribbble API. تستجيب واجهة برمجة التطبيقات (API) بعد ذلك لاستعلامنا بسلسلة JSON ، والتي يتم تحليلها بعد ذلك في مصفوفة بمساعدة json_decode وظيفة وإعادتها إلى الوظيفة باستخدام ملف return كلمة رئيسية.

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

3. دمج DribbbleAPI فصل

هذا هو الجزء الممتع؛ المخبوزات الطازجة DribbbleAPI سوف تدخل الطبقة حيز الاستخدام. سنقوم بتكرار اللقطات المسترجعة من واجهة برمجة التطبيقات ، وننشئ قائمة html باللقطات ، والتي سيتم تمريرها إلى الرمز القصير وعلامة القالب. أثناء الحلقة ، سيتم تخزين صور Dribbble كاملة الحجم مؤقتًا وحفظها في مجلد البرنامج المساعد ، وسيتم إنشاء الصور المصغرة باستخدام يتصور مكتبة. يمكنك مراجعة الوثائق وتثبيتها حسب التعليمات. يمكنك أيضًا استخدام اختيارك لمكتبة معالجة الصور لإنشاء صور مصغرة ، وستحتاج فقط إلى تعديلات طفيفة في ملف getImages طريقة.

لتحديد ما إذا كانت الصور الكاملة مخزنة محليًا بالفعل ، فإن مسار المكون الإضافي مطلوب. أيضًا ، لإنشاء الصور المصغرة باستخدام مكتبة Imagine ، يلزم وجود عنوان URL للمكون الإضافي. لهذا الغرض ، سننشئ متغيرين للفئة يسمى pluginPath و pluginURL في منطقتنا WPDribbble class ، ثم قم بتعيين قيمها من داخل طريقة الباني.

سنقوم أيضًا بإنشاء ملف dribbbleApiObject متغير لعقد DribbbleAPI ، والذي يمكننا استخدامه لاحقًا في getImages طريقة. من المهم أن نلاحظ أنه يتعين علينا تمرير DribbbleAPI الكائن عندما نقوم بإنشاء مثيل WPDribbble صف دراسي.

ضبط متغيرات الفئة

ال getImages() طريقة

قم بإنشاء طريقة جديدة داخل WPDribbble فئة تسمى getImages.

داخل الفصل ، يمكنك استخدام أسماء عامة للوظائف. لن تتعارض مع المكونات الإضافية الأخرى أو الوظائف المضمنة في WordPress ، لأنها تقع ضمن مساحة اسم الفئة.

    • مستخدم $ – اسم المستخدم أو معرف المستخدم الخاص بـ Dribbble. $user سيتم استخدامه عند تسجيل مثيل جديد من DribbbleAPI صف دراسي.
    • صور – عدد الصور المراد عرضها. $images سيتم استخدامه عند الاستعلام عن API من خلال getPlayerShots طريقة.
    • عرض دولار وارتفاع دولار – تخيل أنه سيتم استخدامها لإنشاء صور مصغرة.
    • التسمية التوضيحية – خيار تقديم عنوان الصورة.

بعد ذلك ، سنقوم بتضمين ملف DribbbleAPI فئة في WPDribbble plugin ، حتى نتمكن من إنشاء مثيل جديد منه لالتقاط اللقطات.

بعد ذلك ، لنقم بإنشاء مثيل DribbbleAPI فئة ، عندما نقوم بإنشاء مثيل WPDribbble صف دراسي.

كما ذكرنا سابقًا ، سنقوم بالمرور عبر ملف $shots صفيف ، وحفظ الصور بالحجم الكامل محليًا لأغراض التخزين المؤقت. لتخزين الصور الكاملة والصور المصغرة التي تم إنشاؤها بواسطة Imagine ، قم بإنشاء مجلدين. سنستخدم صور كاملة لتخزين الصور بالحجم الكامل ، و مخبأ للصور المصغرة.

سيتم إنشاء HTML للقائمة داخل ملف $shots عقدة.

إضافة الفصول

من الجيد دائمًا إضافة فئات إلى كل عنصر من عناصر المكون الإضافي الخاص بك. يوفر هذا للمستخدمين المتقدمين للمكوِّن الإضافي حرية تخصيصه. تجنب استخدام CSS المضمنة للمحتوى الذي يتم إنشاؤه من خلال المكون الإضافي الخاص بك.

4. إعداد الكود القصير

تسمح الرموز القصيرة ، كما يوحي الاسم ، للمستخدمين بإضافة محتوى معقد بسهولة إلى مشاركات المدونة.

لدينا بالفعل add_shortcode الخطاف جاهز في مُنشئ فئة البرنامج المساعد الخاص بنا. الآن ، سنقوم بكتابة الرمز القصير method داخل class، والذي سيؤدي إلى استخراج سمات الرمز القصير وإرجاع صور Dribbble باستخدام ملف getImages() طريقة.

سنقوم بالاتصال بالرمز المختصر الخاص بنا [Dribbble]. كما ذكرنا سابقًا ، يتم تحديد اسم الرمز القصير بواسطة المعلمة الأولى في ملف add_shortcode وظيفة. سيتم استخدامه مع السمات المطلوبة لملف getImages() طريقة. فمثلا: [Dribbble user=haris images=5 width=100 height=100 caption=true].

إضافة دعم الرمز القصير لأدوات WordPress

بشكل افتراضي ، لا تدعم أدوات WordPress الرموز القصيرة ، ومع ذلك ، باستخدام امتداد widget_text عامل التصفية ، يمكننا فرض دعم الرمز القصير في عناصر واجهة مستخدم WordPress.

يمكننا إضافة عامل التصفية في ملف WPDribbble منشئ الكائن.

5. إعداد علامة القالب

يمكن استخدام علامة القالب مباشرة في قوالب WordPress. سيكون الغرض الأساسي لعلامة القالب هو إنشاء مثيل جديد من WPDribbble الطبقة ، واستدعاء getImages() طريقة. ستكون علامة القالب دالة PHP بسيطة ويجب تسجيلها خارج فئة البرنامج المساعد. يجب أن يكون لها اسم فريد ؛ خلاف ذلك ، فإنه سيتعارض مع الوظائف / الإضافات التي تحمل اسمًا مشابهًا. منذ أن تم استدعاء البرنامج المساعد الخاص بنا WP-Dribbble، سوف نسمي علامة القالب ، wp_Dribbble().

هاهو!

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

Share this Article
Follow:
مدير موقع AE ومبرمج ويب
Leave a comment
best WordPress Plugins for Business Websites in 2023 5 Best WordPress Ecommerce Plugins Compared – 2023 أفضل 5 شركات استضافة مواقع للويب 2023
adbanner