الأخبار التكنولوجية والاستعراضات والنصائح!

دليل البدء السريع لواجهة برمجة تطبيقات WordPress REST

ستساعدك المقالة التالية: دليل البدء السريع لواجهة برمجة تطبيقات WordPress REST

لقد تطورت شبكة الإنترنت قليلاً خلال العقد الماضي، وتراجع WordPress بشكل طفيف. يتم جلب المزيد والمزيد من التطبيقات إلى الويب باستخدام JavaScript، ويتم إنشاء المزيد والمزيد من مواقع الويب الديناميكية باستخدام لغات مثل Python وRuby.

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

هذا لا يعني أن WordPress يبتعد عن PHP، ولكنه يعني أنه يجب على المطورين التفكير في تعلم JavaScript إذا كانوا يريدون الاستفادة مما تقدمه واجهة برمجة التطبيقات هذه.

ما هي واجهة برمجة تطبيقات WordPress REST؟

REST API ليس مفهومًا جديدًا. في الواقع، قام روي فيلدنج بتعريف مصطلح “نقل الحالة التمثيلية” في عام 2000 عندما استخدمه لتصميم HTTP 1.1 ومعرفات الموارد الموحدة، المعروفة باسم “URIs”.

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

تستخدم واجهات برمجة التطبيقات العادية عادةً PHP وPython وRuby لإنشاء التطبيقات. يمكنك استخدام لغات أخرى، ولكن هذه هي الأكثر شعبية. تعمل واجهات برمجة تطبيقات REST، من خلال استخدام بروتوكول HTTP، على تسهيل استخدام لغات البرمجة الأخرى، مثل JavaScript.

ووردبريس ريست API

لقد شرحت بالفعل كيف أن WordPress REST API يتعلق أكثر بنقل WordPress إلى مكان تواجد بقية الويب وأقل حول الابتعاد عن PHP. يتعلق الأمر بتسهيل استخدام لغات مثل JSON وJavaScript على المطورين حتى يصبح WordPress منصة كاملة يمكن استخدامها لإنشاء ما هو أكثر بكثير من مواقع الويب والمدونات التقليدية.

إليك شرح WordPress لدمج JSON في WordPress REST API:

لقد تم تصميمه بشكل أساسي لسد الفجوة بين PHP WordPress الأساسي المبني عليه وجافا سكريبت الذي تستخدمه العديد من تطبيقات الويب اليوم. تمت إضافة البنية التحتية لـ WordPress REST API إلى WordPress core في الإصدار 4.4 (الاسم الرمزي “Clifford”) في ديسمبر 2015. كنت بحاجة إلى مكون إضافي لاستخدام REST API في ذلك الوقت. ومع ذلك، تمت إضافة بقية واجهة برمجة التطبيقات هذه، ونقاط نهاية المحتوى على وجه الدقة، إلى WordPress الأساسي في الإصدار 4.7 (الاسم الرمزي “Vaughan”) في ديسمبر 2016، مما يلغي الحاجة إلى الفسفور الابيض ريست API توصيل في.

كيف تعمل واجهة برمجة تطبيقات WordPress REST

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

ستشاهد بضعة أنواع مختلفة من الطلبات أو “طرق HTTP” عند البدء في استخدام WordPress REST API. فيما يلي الأنواع الأربعة الرئيسية لطرق HTTP التي يستخدمها الويب:

  • يحصل – يستخدم لاسترداد البيانات من الخادم
  • بريد – يستخدم لإرسال البيانات إلى الخادم
  • يضع – يستخدم لتغيير أو تحديث البيانات الموجودة على الخادم
  • يمسح – يستخدم لإزالة البيانات من الخادم

مع وضع هذه التعريفات البسيطة في الاعتبار، يعد إدخال عنوان URL في المتصفح بمثابة طلب GET. يعد إدخال معلومات تسجيل الدخول الخاصة بك لموقع ويب بمثابة طلب POST. يعد تغيير كلمة المرور الحالية إلى كلمة مرور جديدة بمثابة طلب PUT بينما يعد إنهاء حسابك بمثابة طلب DELETE.

المصطلحات الإضافية التي ستلاحظها هي “المسارات” و”نقاط النهاية”. عادةً ما يكون المسار هو عنوان URL أو جزء من عنوان URL الذي تحاول الوصول إليه بينما تكون نقطة النهاية عادةً هي الاستجابة التي تتلقاها من الخادم.

عندما ترسل مصادر خارجية طلبات HTTP إلى الخادم الذي يستضيف موقع WordPress الخاص بك، فإن REST API تكشف بياناتك بطريقة آمنة من خلال الاستجابة لتلك الطلبات ببنية مشتركة ومجموعة البروتوكولات الخاصة بها.

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

دعونا نتسخ أيدينا قليلاً لنرى كيف يعمل كل هذا.

باستخدام ووردبريس REST API

سنتعرف على كيفية إنشاء واجهة برمجة تطبيقات WordPress REST فعليًا، ولكن لسوء الحظ، هناك بعض المفاهيم الأساسية التي نحتاج إلى التطرق إليها أولاً حتى يكون الأمر منطقيًا. فيما يلي المفاهيم الأساسية التي تشكل واجهة برمجة التطبيقات هذه:

  • الطرق ونقاط النهاية
  • الطلبات
  • استجابات
  • مخطط
  • فئات التحكم

دعنا نذهب اليها.

الطرق ونقاط النهاية

التعريف الفني للمسار هو عنوان URL الذي يمكن تعيينه من خلال طرق HTTP المختلفة. يُطلق على التعيين بين المسار وأسلوب HTTP اسم “نقطة النهاية”. يمكنك الوصول إلى WordPress REST API ومعرفة المسارات ونقاط النهاية المتاحة لموقعك عن طريق إضافة المسار “/wp-json/” إلى نهاية عنوان URL الخاص بك.

يمكنك رؤية ذلك على WordPress.org من خلال زيارة https://www.wordpress.org/wp-json/:

قم بتثبيت ملحق يسمى عارض جيسون لمتصفح Chrome (يتوفر عارض JSON لمتصفح Firefox هنا) لتنظيف هذه الفوضى:

إذا كنت لا تستخدم روابط دائمة جميلة، فاستخدم “?rest_route=” بدلاً من “wp-json”. وفي كلتا الحالتين، ما تراه هنا هو مثال للمسار ونقطة النهاية. “/wp-json/” و”/?rest_route=/” عبارة عن مسارات. إنها تسمح لك بالوصول إلى WordPress REST API من خلال طريقة GET HTTP. تعد واجهة برمجة تطبيقات WordPress REST المعروضة لك، أو البيانات إذا أردت، بمثابة نقطة نهاية يتم تقديمها لنا عبر استجابة JSON.

الطلبات

تعالج WordPress REST API الطلبات بفئة تسمى WP_REST_Request. إنها فئة أساسية في البنية التحتية لـ WordPress REST API. يتم استخدامه لتخزين واسترجاع المعلومات لجميع الطلبات التي تقدمها.

يمكنك إرسال الطلبات عن بعد باستخدام طرق HTTP التي تناولناها أو يمكنك إجراؤها داخليًا كما تفعل عادةً عبر PHP.

استجابات

تتم معالجة الاستجابات باستخدام فئة WP_REST_Response. الرد هو البيانات التي تتلقاها من الطلب، كما ذكرنا من قبل. تستخدم واجهة برمجة التطبيقات (API) هذه الفئة لإرجاع البيانات المرسلة من نقاط النهاية. ويمكنه أيضًا إرجاع الأخطاء.

مخطط

المخطط هو مفهوم داخل WordPress REST API يخدم مجموعة متنوعة من الأغراض. يحدد مخطط واجهة برمجة التطبيقات (API) هياكل البيانات التي يمكن أن تستخدمها نقاط النهاية، ويحتوي على قائمة بالخصائص التي يمكن لـ WordPress REST API إرجاعها. ويحتوي أيضًا على المعلمات التي يمكن أن تقبلها واجهة برمجة التطبيقات (API) وتوفر الأمان لها من خلال التحقق من صحة الطلبات التي تتلقاها واجهة برمجة التطبيقات (API).

فئات التحكم

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

استخدام WordPress REST API للوصول إلى المحتوى الخاص بك من خلال نقاط النهاية

المسار هو عنوان URL الذي تستخدمه للوصول إلى نقطة النهاية، ونقطة النهاية هي الاستجابة التي تتلقاها من الخادم. إذا كنت ترغب في الحصول على منشورات موقعك من خلال WordPress REST API، فاستخدم المسار “/wp/v2/posts/”. يوضح WordPress أن “/wp-json/” غير مضمن في هذه المسارات الأطول لأنه “المسار الأساسي لواجهة برمجة التطبيقات نفسها”. عنوان URL النهائي هو “example.com/wp-json/wp/v2/posts”.

إذا كنت تريد الوصول إلى منشور معين من خلال واجهة برمجة التطبيقات، فما عليك سوى إضافة معرف المنشور إلى نهاية عنوان URL بحيث يبدو كما يلي: “example.com/wp-json/wp/v2/posts/123”

إذا كنت تريد البحث عن المشاركات التي تستخدم عبارة أو كلمة رئيسية محددة، فاستخدم هذا المسار: “/wp/v2/posts?=search[ ]”وبالتالي يبدو عنوان URL بالشكل التالي: “example.com/wp-json/wp/v2/posts?search[].

إذا كنت تريد الوصول إلى ملف تعريف مستخدم معين من خلال واجهة برمجة التطبيقات، أضف “/users/” إلى المسار بالإضافة إلى معرف المستخدم الخاص بهذا المستخدم. يبدو عنوان URL كما يلي: “example.com/wp-json/wp/v2/users/2”. وبالمثل، إذا كنت تريد الوصول إلى مستخدمي موقع ما، فأسقط المعرف بحيث يبدو عنوان URL كما يلي: “example.com/wp-json/wp/v2/users/”.

يمكنك عرض المزيد من نقاط النهاية هنا.

توسيع واجهة برمجة تطبيقات REST

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

فيما يلي بعض الأشياء التي يمكنك إنجازها من خلال توسيع واجهة برمجة تطبيقات REST:

  • إضافة نقاط النهاية المخصصة
  • إنشاء مسارات لأنواع المنشورات المخصصة والتصنيفات المخصصة
  • تعديل الردود

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

ستبدأ بإنشاء وظيفة يمكن أن تكون بسيطة أو معقدة اعتمادًا على مدى تعقيد الوظيفة التي تحاول إضافتها إلى REST API. إليك الوظيفة البسيطة التي يوفرها WordPress في كتيبهم، وهي وظيفة مصممة للحصول على عناوين أحدث منشورات موقعك حسب المؤلف:

$data[‘id’]، )) ؛ إذا (فارغ($posts)) {return null; } إرجاع $posts[0]->post_title; }

بعد ذلك، ستحتاج إلى تسجيل مسار لجعل هذه الوظيفة متاحة لواجهة برمجة التطبيقات (API) باستخدام وظيفة أخرى تسمى Register_rest_route. إليك الوظيفة التي يستخدمها WordPress لتسجيل المسار للوظيفة السابقة:

\d+)’, array( ‘methods’ => ‘GET’, ‘callback’ => ‘my_awesome_func’, ) ); } );

هناك بضعة أشياء تحدث هنا. أولا، هناك ثلاث خصائص تمر عبر هذه الوظيفة. إنها مساحة الاسم (“myplugin/v1”)، والمسار الذي نحتاجه للتسجيل (“my_awesome_func”) والخيارات التي نريد استخدامها (“author/(?P\d+)”). يتم أيضًا استدعاء وظيفة Register_rest_route في وظيفة رد اتصال تسمى “rest_api_init”. يؤدي هذا إلى تقليل حجم العمل غير الضروري الذي يتم تنفيذه عند عدم استخدام واجهة برمجة التطبيقات.

كما يوضح WordPress، تم تصميم هذا المسار لمطابقة أي شيء مع “/author/{id}” حيث “{id}” هو عدد صحيح. هذا هو عنوان URL الذي ستزوره لاستخدام هذا المسار – http://example.com/wp-json/myplugin/v1/author/(?P\d+). يستخدم هذا المسار المحدد نقطة نهاية واحدة، ولكن المسارات قادرة على الحصول على نقاط نهاية متعددة. يمكنك أن ترى أننا حددنا أيضًا طريقة HTTP التي ستستخدمها نقطة النهاية هذه.

مفاهيم أخرى ستحتاجها

هناك بعض المفاهيم الإضافية التي ستحتاج إلى معرفتها إذا كنت تريد توسيع واجهة REST API، بشرط ألا تكون على دراية بها بالفعل. لقد استخدمنا مساحة اسم في الوظيفة أعلاه، ولهذا السبب فإن الجزء الأول من عنوان URL أعلاه هو “myplugin/v1”. يتم استخدامها كبادئات لمنع التعارضات مع المسارات المخصصة.

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

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

الأفكار النهائية وإلى أين نذهب من هنا

قد يكون فهم المفاهيم الأساسية لـ WordPress REST API وتعلم كيفية استخدامها وتوسيعها أمراً مرهقاً، لكن صانعي WordPress واثقون إلى حد ما من أنها ستكون القوة التي يحتاجها نظام إدارة المحتوى (CMS) للنمو بما يتجاوز قدراته كمنصة لبناء مواقع ومدونات بسيطة.

يجب أن يكون تعلم JavaScript أولوية قصوى الآن، كما ذكرنا من قبل، لأن هذه هي اللغة التي يريد صانعو WordPress من المطورين دمجها كثيرًا في مشاريع WordPress.

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

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