مقدمة لواجهة برمجة تطبيقات WordPress REST
نشرت: 2022-10-19في كانون الأول (ديسمبر) 2016 ، مع إصدار WordPress 4.7 ، تحقق معلم نوقش طويلاً: تم تضمين WordPress REST API رسميًا كجزء من WordPress Core.
على الرغم من أن واجهة برمجة تطبيقات REST كانت موجودة كمكوِّن إضافي قبل الدمج الرسمي في النواة ، إلا أن إدراجها اللاحق أثار قدرًا كبيرًا من الجدل ، مع تقديم الحجج لكل من إدراجه والحاجة إلى مزيد من الاختبار.
في النهاية ، تم دمج واجهة برمجة تطبيقات REST في Core وهي الآن تعمل على تشغيل محرر Block بالإضافة إلى العديد من تكاملات الجهات الخارجية والواجهات مع مواقع WordPress عبر الويب.
ومع ذلك ، بالنسبة للعديد من مستخدمي WordPress ، كانت هذه هي المرة الأولى التي سمعوا فيها عن واجهة برمجة تطبيقات REST من أي نوع ، ناهيك عن واحدة مدمجة بإحكام في WordPress.
لذلك في هذه المقالة ، سوف نلقي نظرة على ماهية واجهة برمجة تطبيقات REST ، وكيف أن WordPress REST API فريدة من نوعها ، وبعض الأمثلة على كيفية عملها وبعض أنواع التكنولوجيا التي تم تمكينها الآن بعد تضمينها في WordPress جوهر.
ما هي واجهة برمجة تطبيقات REST؟
مصطلح REST API هو في الواقع اختصارين في واحد وكلاهما مهم عند فهم كيفية عمل WordPress REST API وماذا يفعل.
ما هو ريست؟
الجزء الأول ، REST ، لتقف على نقل الدولة التمثيلي. ببساطة قدر الإمكان ، هذه مواصفات تحدد كيف يجب أن يتواصل موردان منفصلان على الويب مع بعضهما البعض. قد تكون هاتان الواجهتان موقعين مختلفين ، خادم ويب ، تطبيق جوال ، وغير ذلك الكثير.
غالبًا ما يشار إلى الخدمة التي تتبع هذه المواصفات على أنها خدمة RESTful ، وتعمل على التأكد من أن العميل الذي يطلب المعلومات لا يحتاج إلى معرفة أي شيء عن حالة الخادم وكيف يمكن أن يكون العميل والخادم أكثر نمطية ومنفصلة عن غيرهما طرق نقل البيانات عبر الإنترنت.
بشكل أساسي ، إذا علم المطور أنه يتفاعل مع خدمة RESTful ، فيمكنه وضع افتراضات معينة حول كيفية تنسيق طلباتهم ونوع البيانات التي سيتلقونها في المقابل ، وهو أمر مفيد للغاية عند تطوير تقنيات مترابطة.
إذا كنت ترغب في التعمق في ما الذي يشكل بالضبط خدمة RESTful وكيف يتم إجراء هذه الأنواع من الطلبات ، فإنني أوصي بشدة بمراجعة كتابة Codecademy المسمى What is REST؟
ما هي API؟
يرمز API إلى واجهة برمجة التطبيقات ، وكما يوحي الاسم ، يوفر واجهة للعملاء والخدمات الأخرى عبر الويب للتفاعل مع تطبيق معين. وهي تحدد نقاط النهاية ، عادةً عناوين URL ، حيث يمكن إرسال البيانات ، وما إذا كانت عناوين URL هذه تُرجع أي بيانات أو تنشئ موارد على الخادم وما إذا كان أي نوع معين من المصادقة مطلوبًا للوصول إلى نقاط النهاية هذه.
بالنسبة للعديد من الخدمات الشائعة على الويب اليوم ، توفر واجهات برمجة التطبيقات طريقة آلية للقيام بما يمكن للمستخدم القيام به يدويًا ، من خلال السماح لبرنامج نصي أو جزء من التعليمات البرمجية باتخاذ نفس الإجراء مع وجود المستخدم. على سبيل المثال ، إذا كنت تستخدم Reddit ووجدت نفسك تكتب نفس نوع التعليق على العديد من سلاسل الرسائل التي تتصفحها ، فيمكنك إنشاء نص برمجي يبحث في Reddit عن تلك الأنواع من التعليقات ونشر ردك القياسي تلقائيًا عبر واجهة برمجة تطبيقات Reddit.
من خلال الكشف عن بنيتهم التحتية من خلال واجهة برمجة التطبيقات ، لا يتعين على المستخدمين الاعتماد على أساليب تجريف الويب الهشة لأتمتة هذه الأنواع من المهام ويمكن لـ Reddit تتبع من يقوم بالوصول إلى مواردهم عبر واجهة برمجة التطبيقات الخاصة بهم ، وكم مرة يفعلون ذلك ، والتحكم للاستخدام خارج شروط الخدمة الخاصة بهم.
لماذا احتاج WordPress إلى واجهة برمجة تطبيقات REST؟
إذا سبق لك تقديم طلبات شبيهة بواجهة برمجة التطبيقات إلى WordPress قبل أن تكون واجهة برمجة تطبيقات REST جزءًا من Core ، فقد تكون على دراية بمفهوم admin-ajax. كانت هذه هي الطريقة الأصلية لتقديم طلبات مثل هذه في WordPress ، حيث تم توجيه كل طلب من خلال ملف admin-ajax.php ، والتحقق من أي إجراءات محددة قام مطورو أي مكونات إضافية أو سمات بتسجيلها ، ثم استخدموا تلك الوظائف المسجلة لها تلبية الطلبات.
كما قد تتوقع ، كان هذا يعني أن كل مطور استخدم الطلبات الشبيهة بواجهة برمجة التطبيقات قد مكّن هذه الوظيفة كجزء من المكوّن الإضافي أو السمة الخاصة به بشكل مختلف قليلاً ، وكان على أي شخص يريد التفاعل مع هذه الوظيفة أن يتعرف على كيفية عمل كل مكون إضافي أو سمة مبني. تم تقديم WordPress REST API من أجل توحيد الطريقة التي تم بها تقديم هذه الطلبات وتوفير مجموعة واسعة النطاق من نقاط النهاية التي يمكن استخدامها للتفاعل مع WordPress Core نفسه.
طلب مثال لواجهة برمجة تطبيقات WordPress REST
يحتفظ WordPress REST API Handbook بقائمة كاملة من نقاط النهاية المدعومة في WordPress REST API خارج الصندوق. وعلى الرغم من أنه من الرائع أن يكون لديك قائمة كاملة ، إلا أنها قد تكون مربكة بعض الشيء. دعنا نلقي نظرة على ما يمكن اعتباره الوظيفة الأساسية لأي تفاعل API: جلب المورد الأساسي لواجهة برمجة التطبيقات. في حالة WordPress ، يتم نشر هذا المورد.
جميع نقاط نهاية WordPress REST API مسبوقة بمسار URL wp-json
بين مجال الجذر وما يشير إليه كتيب REST API باسم Base Route
. هذا يعني أنه في حالة الوصول إلى نقطة النهاية لسرد منشورات الموقع وكان عنوان URL لموقعنا هو example.com
، فسنحتاج إلى تقديم طلب إلى عنوان URL https://example.com/wp-json/wp/v2/posts
.
يجب أن يؤدي إجراء طلب GET ، إما عن طريق تحميل عنوان URL هذا في متصفح الويب المفضل لديك أو باستخدام متصفح API مثل Postman ، إلى إرجاع قائمة منشورات من واجهة برمجة التطبيقات ، على الرغم من أنها قد لا تكون بالتنسيق الذي تستخدمه ل. إذا كان كل ما تراه عبارة عن سلسلة نصية طويلة واحدة ، فأنت تنظر إلى تنسيق بيانات يُعرف باسم JSON. إذا كنت تقوم بالوصول إلى نقطة نهاية API من خلال متصفحك وترغب في إلقاء نظرة على هذه المعلومات بتنسيق أكثر قابلية للقراءة ، فإنني أوصي بتثبيت امتداد JSON Viewer. سيؤدي هذا إلى اكتشاف أي ناتج في متصفحك وهو JSON وتنسيقه بحيث يمكنك قراءته بسهولة أكبر. مع تثبيت هذا ، يجب أن ترى إخراج البيانات المنشورة من WordPress REST API وقد نجحت في تقديم طلب REST API الأول الخاص بك!
ما الذي يمكن أن تفعله أيضًا واجهة برمجة تطبيقات WordPress REST؟
خارج إحضار قائمة بأحدث المنشورات على موقع WordPress ، بالنظر إلى مرجع نقطة النهاية ، سترى أن هناك الكثير من الطرق الأخرى التي يمكنك من خلالها التفاعل مع WordPress REST API. إذا تمت مصادقتك كمستخدم WordPress ، فيمكنك نشر المنشورات عبر واجهة برمجة التطبيقات ، والحصول على قائمة بالسمات المتاحة للموقع ، وعرض الإعدادات وتعديلها بالإضافة إلى الكثير من الوظائف الأخرى المتاحة للتفاعل معها يدويًا من خلال wp-admin .
بعض الأمثلة على WordPress REST API قيد التشغيل
أدى الكشف عن القدرة على التفاعل مع WordPress من خلال واجهة برمجة تطبيقات REST إلى فتح مجموعة واسعة من إمكانيات المواقع التي يمكنها الآن استخدام WordPress كواجهة خلفية لإدارة المحتوى.
TechCrunch : بعد فترة وجيزة من الإعلان عن WordPress REST API ، أعلنت TechCrunch أنها أعادت بناء موقعها باستخدام بنية بدون رأس ، مما يعني أنهم كانوا يستخدمون WordPress على الواجهة الخلفية كنظام لإدارة المحتوى ، بينما لا يزالون قادرين على استخدام "صفحة واحدة" style React app "على الواجهة الأمامية.
محرر الكتلة (جوتنبرج) : ربما يكون استخدام واجهة برمجة تطبيقات REST التي استفاد منها معظم الأشخاص هو محرر قوالب WordPress. الآن هو المحرر السائد في WordPress ، يتم تمكين الكثير من وظائف Block Editor من خلال حقيقة أنه يمكن أن يتفاعل مع نقاط نهاية WordPress REST API بدون
جميع أنواع المشاريع المجتمعية : مرة أخرى عندما كان يتم التفكير في دمج REST API لأول مرة في مركز ، خرجت مكالمة عامة تطلب من الناس التحدث أكثر عن كيفية استخدامهم لـ REST API. كانت الإجابات واسعة النطاق للغاية ، والتي يمكنك توقعها من مجتمع كبير مثل WordPress ، ولكنها تضمنت كل شيء بدءًا من المكونات الإضافية ذات واجهات تفاعلية أكثر مما كان ممكنًا في السابق إلى الأشخاص الذين يقومون ببناء تطبيقات الأجهزة المحمولة لعملائهم التي يمكن أن تستهلك محتوى WordPress.
تغليف
حتى إذا لم تكن لديك أي خبرة في استخدام واجهات برمجة التطبيقات ، فمن المحتمل أنك استخدمت شيئًا في مرحلة ما من حياتك المهنية يعتمد على واجهة برمجة تطبيقات WordPress REST للعمل. بينما تستمر الواجهات في أن تصبح أكثر ديناميكية وتبدأ مواقع الويب في اتخاذ المزيد من الإجراءات التي لا تتطلب تحميل الصفحة.
الآن بعد أن عرفت ما هي WordPress REST API ، قد تفكر في بعض الأشياء التي يمكنك إنشاؤها باستخدامها! يمكن أن تكون واجهة برمجة تطبيقات REST بالتأكيد أداة قوية في صندوق الأدوات الخاص بك لبناء سمات وإضافات WordPress أفضل.
إذا كنت بحاجة إلى مزيد من التوضيح أو بعض الأمثلة لما هو ممكن ، فقم بإلقاء نظرة على المستندات وانتقل مباشرة!