WordPress REST API: كيفية الوصول إليها واستخدامها وتأمينها (برنامج تعليمي كامل)

نشرت: 2023-03-23

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

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

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

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

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

ما هي API؟

واجهة برمجة التطبيقات (API) هي برنامج يمكّن تطبيقين من التواصل مع بعضهما البعض. يعمل كوسيط بين قطعتين من البرامج ، مما يسهل التعاون السلس.

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

مكتبة Google Cloud API

يتيح ذلك لموقع WordPress الخاص بك التواصل مع خرائط Google ، حتى يتمكن من سحب جميع البيانات والميزات ذات الصلة اللازمة لعرض تلك الخرائط.

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

ما هو ريست؟

نقل الحالة التمثيلية (REST) ​​عبارة عن مجموعة من الإرشادات التي يجب على المطورين اتباعها عند إنشاء واجهات برمجة التطبيقات. لذلك ، فإن واجهة برمجة تطبيقات REST هي واجهة تم إنشاؤها مع وضع هذه المعايير في الاعتبار.

عادةً ما تتبع واجهة برمجة تطبيقات REST هذه المبادئ:

  • فصل العميل عن الخادم: يجب أن تمكّن واجهة برمجة التطبيقات العميل (أو موقع الويب) والخادم من البقاء منفصلين عن بعضهما البعض ومواصلة العمل بشكل مستقل عن بعضهما البعض.
  • التخزين المؤقت: يجب أن تستخدم واجهات برمجة تطبيقات REST بيانات قابلة للتخزين المؤقت ، عندما يكون ذلك ممكنًا ، لتحسين الأداء وإعلام موقع الويب بالمعلومات التي يمكن تخزينها مؤقتًا.
  • انعدام الجنسية: لا يمكن لواجهات برمجة تطبيقات REST تخزين أي معلومات حول موقع الويب الذي يتصلون به على الخادم الخاص بهم ، ويجب توفير المعلومات اللازمة فقط لمعالجة الطلب.
  • واجهة موحدة: يجب معالجة طلبات الموارد بنفس الطريقة ، بغض النظر عن مصدرها.
  • بنية الطبقات: تم بناء REST APIs حول نظام متعدد الطبقات ، حيث تؤدي كل طبقة دورًا محددًا وتعمل بشكل منفصل عن الآخرين. هذا يجعل API أكثر أمانًا وأسهل في التحديث.

نظرًا لأن واجهة برمجة تطبيقات REST تفي بهذه المعايير ، يمكنها توفير المزيد من الأمان والكفاءة.

ماذا تفعل WordPress REST API؟

يحتوي WordPress على واجهة برمجة تطبيقات REST الخاصة به. يمكّن هذا النظام الأساسي من التواصل مع كل تطبيق ويب وموقع ويب آخر تقريبًا ، بغض النظر عن لغة البرمجة التي يستخدمونها.

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

تم إصدار WordPress REST API كجزء من البرنامج الأساسي في الإصدار 4.7. قبل ذلك ، كان متاحًا فقط كمكوِّن إضافي.

بينما يتم إنشاء برنامج WordPress باستخدام PHP ، فإن واجهة برمجة تطبيقات REST ترسل وتستقبل البيانات ككائنات JSON (JavaScript Object Notation) ، مما يفتح إمكانيات جديدة للمطورين.

ما هي أوامر REST API الأكثر شيوعًا؟

تم تصميم واجهات برمجة تطبيقات REST لتلقي طلبات معينة والاستجابة لها عبر أوامر HTML.

الأوامر الأكثر شيوعًا التي ستستخدمها هي:

  • GET: يمكنك استخدام هذا الأمر لجلب مورد معين من الخادم ، مثل منشور أو جزء من البيانات.
  • POST: يتيح لك هذا الأمر تعديل مورد على الخادم عن طريق إضافة رمز.
  • PUT: باستخدام هذا الأمر ، يمكنك تحرير مورد موجود بالفعل على الخادم.
  • حذف: يزيل هذا الأمر موردًا من الخادم.

يتبع هذه الأوامر سطر يعطي مزيدًا من المعلومات حول الطلب. تُعرف هذه باسم نقاط النهاية.

على سبيل المثال ، إذا أردت استرداد قائمة المنشورات المنشورة على موقعك ، فيمكنك استخدام نقطة النهاية التالية:

 GET http://mysite.com/wp-json/wp/v2/posts/?status=published

لنلق نظرة على مثال آخر. إذا كنت تريد إضافة صفحة جديدة ، يمكنك استخدام الأمر التالي:

 POST http://mysite.com/wp-json/wp/v2/posts/page

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

أمثلة من العالم الحقيقي لواجهة برمجة تطبيقات WordPress REST

الآن بعد أن أصبح لديك فهم أساسي لكيفية عمل WordPress REST API ، فلنلقِ نظرة على بعض الأمثلة الواقعية ، بدءًا من WordPress.com.

تم إنشاء لوحة تحكم مسؤول WordPress.com (تسمى "Calypso") بالكامل في JavaScript من خلال واجهة برمجة تطبيقات REST.

لوحة تحكم WordPress Calypso ، والتي تستخدم واجهة برمجة تطبيقات REST

Calypso هو تطبيق ويب وسطح مكتب يمكّن المستخدمين من إضافة محتوى جديد وتعديل المنشورات الحالية والمزيد. يستخدم REST API للوصول إلى البيانات الموجودة على موقع WordPress.com الخاص بك.

مثال آخر هو Block Editor. في WordPress المستضاف ذاتيًا ، يستخدم Block Editor واجهة برمجة تطبيقات REST للتفاعل مع قاعدة البيانات الخاصة بك وإنشاء الكتل.

تستخدم العديد من المنشورات على الإنترنت مثل USA Today أيضًا WordPress REST API. يمكّنهم هذا من نشر المقالات تلقائيًا على تطبيقات الأخبار الأخرى ، مثل Apple News.

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

لست بحاجة إلى القيام بأي شيء لتمكين واجهة برمجة تطبيقات REST - فهي تأتي مدمجة في WordPress. سنشرح لك لاحقًا في المنشور كيفية الوصول إليه.

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

لا يوصى بتعطيل واجهة برمجة تطبيقات WordPress REST. هذا لأن القيام بذلك يمكن أن يؤدي إلى مشاكل في Block Editor وأي مكونات إضافية على موقعك.

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

صورة الصفحة الرئيسية لكود الفسفور الابيض

بمجرد تثبيت وتنشيط المكون الإضافي على موقعك ، انتقل إلى Code Snippets → Library في لوحة معلومات WordPress الخاصة بك.

مكتبة مقتطفات WPCode

هنا ، ابحث عن خيار يسمى Disable WordPress REST API . عندما تجده ، مرر فوقه وحدد استخدام المقتطف .

باستخدام مقتطف "تعطيل واجهة برمجة تطبيقات REST"

سيؤدي هذا إلى تشغيل صفحة مع معاينة للكود.

تحرير مقتطف WPCode

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

باستخدام وظيفة الإدراج التلقائي

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

كيفية استخدام WordPress REST API

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

الخطوة 1: الوصول إلى REST API

إذا كنت ترغب في جلب البيانات من موقع WordPress مباشر ، يمكنك الوصول إلى REST API مباشرة من متصفحك. كل ما عليك فعله هو إدخال العنوان التالي في شريط البحث (استبدال اسم المجال الخاص بك وامتداده):

 mysite.com/wp-json/wp/v2

سيؤدي هذا إلى إظهار ملف JSON لموقع WordPress الخاص بك.

عرض REST API

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

الخطوة 2: قم بتقديم طلبات إلى REST API

كما ذكرنا سابقًا ، يمكنك استخدام نقاط النهاية للوصول إلى بيانات معينة على موقعك. إذا كنت تريد استرداد قائمة بجميع منشوراتك ، فما عليك سوى إضافة نقطة النهاية / المنشورات إلى عنوانك:

 mysite.com/wp-json/wp/v2/posts

إذا كنت ترغب في استرداد منشور معين ، فيمكنك فقط إضافة معرفه (ستجد هذا في صفحة المنشورات في لوحة معلومات WordPress الخاصة بك):

 mysite.com/wp-json/wp/v2/posts/4567

في غضون ذلك ، إذا كنت ترغب في جلب بيانات حول المستخدمين لديك ، يمكنك استخدام الطلب التالي:

 mysite.com/wp-json/wp/v2/users

هذه مجرد أمثلة بسيطة ، ولكن هناك الكثير الذي يمكنك القيام به. على سبيل المثال ، يمكنك جلب المشاركات التي تحتوي على مصطلحات محددة ، وتغيير حالة المنشور من "مسودة" إلى "نشر" والمزيد.

الخطوة 3: مصادقة طلباتك

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

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

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

إنشاء كلمة مرور للتطبيق في WordPress

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

 https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer1234567890

تذكر استبدال الرمز 1234567890 بمفتاح API الذي نسخته وإزالة أي مسافات.

يمكنك أيضًا استرداد قائمة المنشورات التي كتبها مؤلف معين ، مع معرف المستخدم الخاص به. يمكنك العثور على معرّفهم بالانتقال إلى قسم المستخدمين في لوحة معلومات WordPress الخاصة بك والنقر على اسم المؤلف. سيتم عرض المعرف في عنوان URL لصفحة المؤلف الخاصة بهم.

لنفترض أن اسم المؤلف هو "Joe" ومعرفه هو "123". في هذا السيناريو ، يمكنك استخدام عنوان URL التالي لاسترداد قائمة بجميع المشاركات التي كتبها Joe:

 https://mysite.com/wp-json/wp/v2/posts?author=123&Authorization=Bearer1234567890

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

للقيام بذلك ، سيتعين عليك استخدام معلمة "slug" بدلاً من معلمة "author" في طلبك:

 https://mysite.com/wp-json/wp/v2/posts?slug=joe&Authorization=Bearer1234567890

تمكّنك المعلمة "slug" من تحديد اسم تسجيل الدخول أو عنوان البريد الإلكتروني للمستخدم. ستعيد واجهة برمجة تطبيقات WordPress REST قائمة بجميع المنشورات التي كتبها المستخدم.

متى تستخدم WordPress REST API

يمكن استخدام WordPress REST API لمجموعة واسعة من المشاريع. وفيما يلي بعض الأمثلة على ذلك:

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

كما ترى ، تمكنك واجهة برمجة تطبيقات REST من دمج WordPress مع التطبيقات أو المواقع المبنية على منصات أخرى.

عندما لا تستخدم WordPress REST API

بينما يمكن أن تكون واجهة برمجة تطبيقات WordPress REST أداة قوية ، فقد لا تكون دائمًا الأداة المناسبة لمشروعك. دعنا نلقي نظرة على بعض الأسباب التي قد تجعلك لا ترغب في استخدامه.

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

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

كيفية تأمين WordPress REST API من المآثر

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

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

بالإضافة إلى ذلك ، سترغب في التأكد من وجود إجراءات أمنية كافية في مكانها. هذا يعني استخدام أداة مثل Jetpack Protect.

الصفحة الرئيسية لـ Jetpack Protect

يأتي هذا المكون الإضافي مليئًا بميزات الأمان ، بما في ذلك فحص البرامج الضارة ومسح الثغرات الأمنية وجدار حماية تطبيق الويب (WAF).

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

كيفية إصلاح أخطاء ومشكلات REST API الشائعة

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

أوقات الاستجابة البطيئة والمهلة

عند استدعاء WordPress REST API ، قد تواجه أوقات استجابة بطيئة ومهلة. تحدث هذه المشكلات عادةً بسبب العوامل التالية:

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

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

403 خطأ ممنوع عند استدعاء REST API

الخطأ 403 Forbidden Error هو رمز حالة HTTP يشير إلى أن العميل غير مصرح له بالوصول إلى المورد المطلوب. لنلقِ نظرة على بعض الأسباب الشائعة لهذا الخطأ والحلول المحتملة:

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

يمكنك أيضًا استخدام أدوات مطور المستعرض الخاص بك لفحص طلبات الشبكة ورؤوس الطلبات. إذا كنت تستخدم Chrome ، فما عليك سوى الضغط على Ctrl + Shift + C لفتح DevTools.

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

واجهت REST API نتيجة غير متوقعة

خطأ "واجهت واجهة برمجة تطبيقات REST نتيجة غير متوقعة" مشكلة شائعة. يحدث هذا عادةً بسبب العوامل التالية:

  • أذونات. قد لا يكون لديك الأذونات الصحيحة للوصول إلى المورد المطلوب. إذا كان الأمر كذلك ، فستحتاج إلى الاتصال بمسؤول الموقع.
  • مشكلة تكوين URL. يمكن أن يحدث هذا الخطأ إذا تم تكوين عنوان URL لنقطة نهاية API بشكل غير صحيح. تحقق مرة أخرى من عنوان URL للتأكد من صحته وإدراج جميع معامِلات طلب البحث الضرورية.
  • أمر غير صحيح. ربما تستخدم الأمر الخطأ (مثل GET ، POST ، PUT ، DELETE) للطلب. تحقق من وثائق API للتأكد من أنك تستخدم الأمر الصحيح لنقطة النهاية المحددة.
  • تنسيق الطلب غير صحيح. تأكد من أنك تستخدم التنسيق الصحيح في طلبك. في WordPress REST API ، يجب إرسال البيانات على هيئة JSON.
  • نقطة نهاية خاطئة. ربما تحاول الاتصال بنقطة نهاية غير موجودة. في هذا السيناريو ، تحقق جيدًا من عنوان URL لنقطة النهاية للتأكد من صحته.
  • مشاكل من جانب الخادم . قد يواجه الخادم الخاص بك مشكلات. هذا أكثر شيوعًا مع خطط الاستضافة المشتركة. إذا حدث هذا لك ، فقد يكون الوقت قد حان للترقية إلى خادم به موارد أكثر.

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

rest_api_init لا يعمل

الخطأ "rest_api_init لا يعمل" هو خطأ آخر شائع في WordPress REST API. يحدث هذا عادةً بسبب تعارض المكونات الإضافية والقوالب ، فضلاً عن موارد الخادم المحدودة.

مع ذلك ، هناك عوامل أخرى يمكن أن تؤدي إلى عدم عمل واجهة برمجة تطبيقات WordPress REST ، مثل:

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

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

المصادقة الأساسية لا تعمل

قد يحدث الخطأ "المصادقة الأساسية لا تعمل" عند محاولة استدعاء WordPress REST API باستخدام المصادقة الأساسية. المصادقة الأساسية هي نظام مصادقة بسيط مدمج في بروتوكول HTTP. يستخدم اسم مستخدم وكلمة مرور لمصادقة شخص ما.

فيما يلي بعض الأسباب الشائعة لهذا الخطأ (وكيفية حلها):

  • أوراق غير صحيحة. تحقق من اسم المستخدم وكلمة المرور في رؤوس الطلبات للتأكد من صحتهما.
  • مشكلة طبقة مآخذ التوصيل الآمنة (SSL). تأكد من تثبيت شهادة SSL صالحة وتكوينها بشكل صحيح. إذا لم يكن الأمر كذلك ، فقم بإلقاء نظرة على دليلنا خطوة بخطوة حول كيفية الحصول على شهادة SSL مجانية وصالحة.
  • عمليات إعادة توجيه HTTP إلى HTTPS. تم تكوين بعض مواقع الويب لإعادة توجيه طلبات HTTP إلى HTTPS. إذا كان المستعرض يحاول المصادقة على HTTP ، فقد تواجه هذا الخطأ. لذلك ، ستحتاج إلى التأكد من تشغيل طلب على نقطة نهاية HTTPS.

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

إذا لم يساعد ذلك ، فقد ترغب في تعطيل جدار الحماية الخاص بك مؤقتًا. قد يؤدي هذا إلى حظر طلب المصادقة الخاص بك.

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

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

حالات الاستخدام المتقدمة لواجهة برمجة تطبيقات REST

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

كيفية استخدام WordPress REST API مع React

React هي مكتبة JavaScript شائعة لبناء واجهات المستخدم. يمكنك استخدام عميل Node-WPAPI لإجراء طلبات HTTP لواجهة برمجة تطبيقات WordPress REST.

على سبيل المثال ، لاسترداد قائمة المنشورات على موقع WordPress الخاص بك ، ستحتاج إلى إدخال ما يلي في Node-WPAPI:

 import WPAPI from 'wpapi'; const wp = new WPAPI({ endpoint: 'http://example.com/wp-json' }); wp.posts().then(posts => {  console.log(posts); });

لمزيد من المعلومات حول استخدام WordPress REST API مع React ، يمكنك مراجعة وثائق Node-WPAPI.

كيفية استخدام WP REST API مع Angular

Angular هو إطار عمل JavaScript لتطوير تطبيقات الويب. لاستخدامه مع واجهة برمجة تطبيقات WordPress REST ، ستحتاج إلى استخدام وحدة @ angular / common / http .

على سبيل المثال ، يمكنك إدخال الكود التالي لاسترداد قائمة المشاركات:

 import { HttpClient } from '@angular/common/http'; @Injectable() export class PostService {  constructor(private http: HttpClient) {}  getPosts(): Observable<any> {    return this.http.get('http://mysite.com/wp-json/wp/v2/posts');  } }

يمكنك التحقق من توثيق Angular لمزيد من المعلومات حول استخدام HttpClient لتقديم طلبات إلى WordPress REST API.

كيفية استخدام WordPress REST API مع Python

يمكنك أيضًا استخدام واجهة برمجة تطبيقات WordPress REST مع Python. هذه لغة برمجة شائعة يمكن استخدامها لإنشاء تطبيقات ويب وبرامج أخرى.

للبدء ، ستحتاج إلى استخدام مكتبة الطلبات . إذا كنت تريد جلب قائمة بمنشورات WordPress الخاصة بك ، فقم بإدخال ما يلي:

 import requests response = requests.get('http://example.com/wp-json/wp/v2/posts') posts = response.json() print(posts)

يمكنك قراءة وثائق مكتبة الطلبات للحصول على إرشادات أكثر تفصيلاً.

كيف تقارن واجهة برمجة تطبيقات REST مع حلول WordPress API الأخرى؟

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

مقارنة WordPress REST API مع AJAX

يوفر WordPress REST API طريقة فعالة للوصول إلى بيانات WordPress. تمكن المطورين من إنشاء تطبيقات مخصصة وتكامل مع WordPress.

وفي الوقت نفسه ، تعد واجهة برمجة تطبيقات WordPress AJAX طريقة قديمة للوصول إلى بيانات WordPress. تم تقديمه في WordPress 2.0 ويمكّن المطورين من تقديم طلبات غير متزامنة من الواجهة الأمامية للموقع ، باستخدام JavaScript.

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

مقارنة بين WordPress REST API و WPGraphQL

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

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

مقارنة WordPress REST API مقابل XML-RPC

تم تقديم واجهة برمجة تطبيقات WordPress XML-RPC في WordPress 1.5 ، وتمكنك من تقديم طلبات عن بُعد إلى WordPress باستخدام بروتوكول XML-RPC.

يعد XML-RPC بسيطًا وخفيف الوزن ، وبالتالي يمكنه تقديم نتائج أسرع. المشكلة هي أنه مثل Ajax ، لديه وظائف محدودة مقارنة بواجهة برمجة تطبيقات WordPress REST.

الأسئلة المتداولة حول WordPress REST API

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

هل لواجهة برمجة تطبيقات WordPress REST حد للإرجاع؟

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

لحسن الحظ ، يمكنك استخدام المعلمة "per_page" لزيادة الحد الأقصى إلى 500 عنصر لكل صفحة.

على سبيل المثال ، إذا كنت تريد 200 عنصر لكل صفحة ، فيمكنك استخدام ما يلي:

 https://mysite.com/wp-json/wp/v2/posts?per_page=200

ضع في اعتبارك أنه يمكنك أيضًا تقليل عدد العناصر المعروضة في كل صفحة.

هل يمكنني استخدام واجهة برمجة تطبيقات REST مع WooCommerce؟

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

ابدأ مع WordPress REST API

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

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

باستخدام Jetpack Protect ، يمكنك تأمين موقع WordPress الخاص بك ضد البرامج الضارة والمتسللين ، واستخدام WordPress REST API في بيئة أكثر أمانًا.