توصيل مكون إضافي لواجهة برمجة التطبيقات لجهة خارجية لماين كرافت. البرنامج المساعد لواجهة برمجة التطبيقات

03.03.2020

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

  1. (المخطوطة)
  2. (المخطوطة)

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

للحصول على قائمة شاملة لجميع خطافات الإجراءات والتصفية في WP، راجع قاعدة بيانات WordPress Hooks الخاصة بـ Adam Brown.

مرجع الوظيفة

وظائف التصفية
وظائف الإجراءات
وظائف التنشيط/التعطيل/إلغاء التثبيت

أجراءات

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

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

الخطوات الأساسية لتحقيق ذلك (الموصوفة بمزيد من التفاصيل أدناه) هي:

  1. قم بإنشاء وظيفة PHP التي يجب تنفيذها عند حدوث حدث WordPress محدد، في ملف البرنامج المساعد الخاص بك.
  2. ربط هذه الدالة بالحدث باستخدام الدالة.
  3. ضع وظيفة PHP الخاصة بك في ملف البرنامج المساعد، وقم بتنشيطها.

إنشاء وظيفة العمل

الخطوة الأولى في إنشاء إجراء في المكون الإضافي الخاص بك هي إنشاء وظيفة PHP مع وظيفة الإجراء الخاصة بالمكون الإضافي الخاص بك ووضعها في ملف المكون الإضافي الخاص بك (يجب أن ينتقل ملف المكون الإضافي الخاص بك إلى ملف wp-content/pluginsالدليل). على سبيل المثال، إذا كنت تريد أن يتلقى أصدقاؤك رسالة بريد إلكتروني عندما تقوم بإنشاء منشور جديد، فيمكنك تحديد الوظيفة التالية:

وظيفة email_friends($post_ID) ( $friends = " [البريد الإلكتروني محمي],[البريد الإلكتروني محمي]"; mail($friends, تم تحديث مدونة "sally"، "لقد قمت للتو بوضع شيء ما على مدونتي: http://blog.example.com"); إرجاع $post_ID؛ )

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

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

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

تجنب تضارب أسماء الوظائف

من الممكن أن يكون شخص ما قد قام بإنشاء مكون إضافي بوظيفة تسمى نفس الوظيفة الموجودة في المكون الإضافي الخاص بك.

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

الحل الأول هو بادئة كل وظيفة في البرنامج المساعد الخاص بك بمجموعة فريدة من الأحرف. إذا كان اسمك John Q. Public، فيمكنك الإعلان عن وظائفك كدالة jqp_output() (...) . إن احتمال قيام شخص يحمل نفس الأحرف الأولى من الاسم بفعل نفس الشيء باستخدام المكون الإضافي الخاص به هو احتمال محتمل ولكنه منخفض.

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

خذ بعين الاعتبار هذه الفئة، والتي تتوسع في الأمثلة المذكورة أعلاه:

مرسل البريد الإلكتروني للفئة (إرسال وظيفة ثابتة($post_ID) ( $friends = " [البريد الإلكتروني محمي],[البريد الإلكتروني محمي]"; mail($friends,"تم تحديث مدونة sally"،"لقد قمت للتو بوضع شيء ما على مدونتي: http://blog.example.com"); إرجاع $post_ID؛ ) ) add_action("publish_post", array("emailer", "send"));

تسمى هذه الفئة مرسل البريد الإلكترونيلديه طريقة يرسلالذي ينفذ وظيفة البرنامج المساعد.

تضيف الدالة add_action() الموجودة خارج الفصل الإجراء إلى WordPress الذي يخبرها باستدعاء يرسلالطريقة عند نشر المنشور. المصفوفة المستخدمة في المعلمة الثانية تخبر نظام البرنامج المساعد باستدعاء الطريقة الثابتة للفئة "مرسل البريد الإلكتروني" المسماة "إرسال".

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

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

مرسل البريد الإلكتروني للفئة ( إرسال الوظيفة($post_ID) ( $friends = " [البريد الإلكتروني محمي],[البريد الإلكتروني محمي]"; mail($friends,"تم تحديث مدونة sally"،"لقد قمت للتو بوضع شيء ما على مدونتي: http://blog.example.com"); إرجاع $post_ID؛ ) ) $myEmailClass = new emailer(); add_action("publish_post", array($myEmailClass, "send"));

الفصول الدراسية موضوع معقد. اقرأ المزيد عنها في وثائق PHP الخاصة بالفصول.

ربط وورد

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

Add_action("hook_name", "your_function_name", , );

Hook_name اسم ربط الإجراء الذي يوفره WordPress، والذي يخبرنا بالحدث الذي يجب أن ترتبط به وظيفتك. your_function_name اسم الوظيفة التي تريد تنفيذها بعد الحدث المحدد بواسطة Hook_name . يمكن أن تكون هذه وظيفة php قياسية، أو وظيفة موجودة في نواة WordPress، أو وظيفة تحددها أنت في ملف البرنامج الإضافي (مثل "email_friends" المحدد أعلاه). الأولوية وسيطة عدد صحيح اختيارية تستخدم لتحديد الترتيب الذي يتم به تنفيذ الوظائف المرتبطة بإجراء معين (الافتراضي: 10). يتم تنفيذ الأرقام المقابلة الأقل مع التنفيذ السابق، ويتم تنفيذ الوظائف ذات الأولوية نفسها بالترتيب المضاف إلى الإجراء. Accept_args وسيطة عددية اختيارية تحدد عدد الوسائط التي يمكن لوظيفتك قبولها (الافتراضي 1)، وهي مفيدة لأن بعض الخطافات يمكنها تمرير أكثر من وسيطة واحدة إلى وظيفتك. هذه المعلمة جديدة في الإصدار 1.5.1.

في المثال أعلاه، سنضع السطر التالي في ملف البرنامج الإضافي:

Add_action("publish_post"، "email_friends")؛

التثبيت والتنشيط

الخطوة الأخيرة لتشغيل رابط الفلتر هي تثبيت الملف وتنشيط المكون الإضافي. يجب أن تنتقل وظيفة PHP التي كتبتها والمكالمة إلى ملف PHP معًا، ويجب تثبيت ملف PHP في ملف wp-content/pluginsالدليل. بمجرد تثبيته، ستحتاج إلى زيارة قسم الإدارة في WordPress وتنشيط المكون الإضافي الخاص بك؛ انظر لمزيد من التفاصيل.

الخطافات الحالية للمرشحات

التنشيط/التعطيل/إلغاء التثبيت

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

موارد خارجية

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

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

يحتاج مالكو الخادم إلى مفتاح خاص لتمكين هذا البرنامج المساعد.
قم بتسجيل الدخول إلى موقع Yandex ثم احصل على هذا المفتاح، ثم ضعه في تكوين واجهة برمجة التطبيقات.
يرجى ملاحظة أن المفتاح المجاني يدعم 10,000,000 حرف "فقط" كل شهر، ولكن يمكنك إنشاء عدد المفاتيح التي تريدها.

هذه هي اللغات المتوفرة:

SpoilerTarget">سبويلر

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

عندما تنضم إلى الخادم، تكون لغتك هي لغة الخادم.
لتغييره، فقط اكتب /lang(إذن: translator.lang) وحدد لغتك من القائمة.

إذا كنت لا تعرف كيفية إضافة التبعيات، فاقرأ هنا.

مطور
تأكد من أنك تستخدم Java >= 8.
أضف JAR إلى مسار البناء الخاص بك. ثم قم بتعيين إعداد "البيان اليدوي" وقم بإنشاء MANIFEST.MF الخاص بك للمشروع. يكتب:

الفئة الرئيسية: your.package.Class
مسار الفئة: ..\lib\Translator.jar

أصحاب الخادم
تأكد من أنك تستخدم Java >= 8.
قم بإنشاء مجلد باسم ليبفي جذر الخادم الرئيسي، ووضع هنا JAR.
تحتاج أيضًا إلى وضعه في مجلد الإضافات الخاص بك.

//إرسال رسالة مترجمة تلقائيًا إلى لغة المشغل
p.sendMessage("§a" + Translator.translate("مرحبًا!", ص));

//إرسال رسالة مترجمة يدويًا
p.sendMessage("§a" + Translator.translate("Hello!", Language.ENGLISH, Language.ITALIAN));

// الحصول على لغة الخادم
خادم اللغةLang = Translator.getServerLanguge();

//الحصول على لغة اللاعب
Language playerLang = Translator.getPlayerLanguage(p);

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

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

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

المراجعات الأخيرة

  1. الإصدار: 1.0

    غراند فريت! هل تريد أن تكون مدعومًا من Gamehosting، هل تعتقد أنك إيطالي؟ se si: sai perché da questo errore all" avvio?

    P.s (من المستحيل العثور على القرص المحدد، ولكن القرص الموجود فيه)

    : java.io.IOException: من المستحيل العثور على المسار المحدد
    : في java.io.WinNTFileSystem.createFileExclusively (الطريقة الأصلية)
    : في java.io.File.createNewFile (مصدر غير معروف)
    : على eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : على eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : على org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : على org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : في org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : على org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : على org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : على net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : على net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378)
    : على net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333)
    : على net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263)
    : على net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
    : في java.lang.Thread.run (مصدر غير معروف)

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

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

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

ما هو API ل؟

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

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

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

ماذا يعني REST وJSON؟

REST هو اختصار لنقل الحالة التمثيلية. يصف REST بنية API محددة مصممة لتكون خفيفة الوزن وسهلة الاستخدام ومناسبة لمجموعة واسعة من الخدمات. تستخدم Google وFacebook وTwitter نمط REST للعديد من واجهات برمجة التطبيقات الخاصة بها، وذلك لسبب بسيط وهو أن REST مبني على بروتوكول HTTP، وهو بروتوكول يُستخدم في كل مكان على الويب، إلى جانب ابن عمه الأكثر أمانًا HTTPS. نظرًا لتوافقها العالي مع التقنيات الحديثة، تكتسب واجهات برمجة التطبيقات المستندة إلى REST شعبية متزايدة على الويب، وليس فقط في حالة WordPress. يمكن لأي برنامج لديه إمكانية الوصول إلى الإنترنت تقريبًا استخدام هذا النوع من واجهة برمجة التطبيقات. يبدو أن هذا ينطوي على إمكانات كبيرة للتشغيل البيني بين البرامج، أليس كذلك؟

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

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

مع كل ما قيل، يمكن استخلاص الاستنتاجات التالية:

  • واجهة برمجة التطبيقات (API) هي رابط لأي برنامج؛
  • REST هو تصميم هذا الموصل؛
  • JSON هو كابل ذو مقابس عالمية في الأطراف؛

JSON REST API وWORDPRESS

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

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

  • السجلات؛
  • الصفحات؛
  • أنواع المنشورات المخصصة؛
  • وسائط؛
  • تعليقات؛
  • التصنيفات.
  • المستخدمين؛
  • وأكثر بكثير

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

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

احصل على http://yoursite.com/users/username.

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

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

ماذا يعني WP API لـ WORDPRESS؟

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

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

  • يمكن لأي مطور إنشاء لوحة إدارة WordPress بديلة بناءً على أي جهاز أو نظام أساسي تقريبًا.
  • يمكن أن توفر واجهة برمجة التطبيقات الجديدة العديد من البدائل للواجهة الخلفية القياسية، بما في ذلك تطبيقات الهاتف المحمول المتاحة لإدارة WordPress
  • نظرًا لأن دعم JSON مدمج أصلاً في نظامي التشغيل iOS وAndroid، فإن احتكار تطبيق WordPress سيكون تاريخًا.
  • سيكون محتوى الطرف الثالث متاحًا أيضًا لـ WordPress. والأفضل من ذلك، أن واجهة برمجة التطبيقات (API) تجعل لغة محتوى WordPress وبيئته مستقلة، بحيث يمكنك أخذ المحتوى من أي مصدر وعرضه كيفما تريد.
  • سيكون لدى Ruby on Rails وأطر العمل الأخرى إمكانية الوصول إلى وظائف WordPress وجميع الإمكانات التي تأتي معها، وستكون فوائد هذه المناطق متاحة لمستخدمي WordPress.

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

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

ووردبريس يدخل حقبة جديدة

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

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

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

مؤخراً:

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

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

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

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

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

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

تم تحميل المشروع لأول مرة على GitHub للمطورين في عام 2013 من قبل المطورين Ryan McCue وRachel Baker. تم إنشاء المكون الإضافي REST API المستقل في WordPress في ديسمبر 2015 بعد تلقي دعم ساحق وجذب ما يقرب من 100 مساهم على استعداد للعمل على تحسين قدراته.

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

  1. يستخدم Event Espresso واجهة REST API لتزويد المطورين بإمكانية الوصول إلى البنية التحتية العالمية الخاصة بهم، مما يسمح لهم بتطوير التطبيقات باستخدام خدماتهم.
  2. يسمح Simmer للمطورين بالوصول إلى واجهة برمجة التطبيقات (API) لتوسيع وظائفهم إلى تطبيق جوال كامل أو تخصيص السمات.
  3. يوفر JoinIn عنصر واجهة المستخدم "القابل للتضمين" الخاص به باستخدام REST API، ويملأه بالبيانات ذات الصلة أينما يتم عرضه.

هذا مجرد غيض من فيض عندما يتعلق الأمر بالأغراض المبتكرة لواجهات REST API. ومع ذلك، دعونا نناقش كيفية عمل REST API نفسها.

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

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

يتم إرسال REST API عبر نقاط وصول بروتوكول نقل النص التشعبي (HTTP) باستخدام تنسيق JavaScript Object Notation (JSON). ببساطة، توفر هذه التقنيات إمكانية الوصول إلى واجهات برمجة التطبيقات باستخدام عناوين ويب فريدة لتقديم البيانات التي تتصرف مثل كائنات JavaScript.

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

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

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

تعتمد واجهة REST API على JavaScript، التي تحظى باهتمام متزايد، مما يشير إلى لغات البرمجة التي من المهم معرفتها. ستكتشف قريبًا أن JavaScript من جانب الخادم هو PHP الجديد. ويمكن ملاحظة ذلك بالفعل في برنامج WordPress.com الجديد، Calypso، الذي يعمل بالكامل على JavaScript وREST API.

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

أتمنى أن يكون لديك الآن المزيد من الأسباب التي تجعل من المهم البدء في تعلم كيفية استخدام هذه التكنولوجيا الآن. لقد حان الوقت لاتخاذ خطواتك الأولى نحو استخدام REST API في عملك الخاص!

5 خطوات للبدء باستخدام WordPress REST API

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

للقيام بذلك، تحتاج إلى فتح برنامج بواجهة سطر الأوامر (Command Line Interface CLI) على جهاز الكمبيوتر الخاص بك - صالةعلى نظام التشغيل MacOS أو Linux و سطر الأوامرعلى ويندوز. تتيح لك واجهة سطر الأوامر (CLI) التفاعل مباشرة مع REST API، دون الحاجة إلى كتابة نصوص برمجية إضافية لطلب المعلومات ومعالجتها. يمكن أن يكون أي طلب تكتبه في واجهة سطر الأوامر (CLI) عبارة عن برنامج نصي بلغة PHP أو JavaScript أو لغة أخرى، ولكن الطريقة ستكون مختلفة لكل منها. التنفيذ المباشر للأوامر في CLI. فقط اكتب الأمر الذي تريده ثم اضغط على Enter.

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

الخطوة 1: تعرف على المفاهيم الأساسية لـ REST API

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

  1. الطرق ("المسارات") والموارد أو نقاط الوصول ("نقاط النهاية").هذا هو الجانب الأكثر أهمية في فهم REST API. تساعدك المسارات على التنقل بين مواردك عندما تكون طريقة HTTP معينة (مثل مجموعة بيانات ثابتة أو إجراء) متصلة بمسار معين. على سبيل المثال، /wp-json/ هو مسار تم تكوينه كمورد تم إنشاؤه لتظهر لنا المسارات المتاحة.
  2. الطلبات.يتم إنشاؤها عن طريق تشغيل الموارد المناسبة وتمرير البيانات.
  3. إجابة (استجابات).باختصار، تقديم البيانات التي طلبتها أو إرجاع خطأ لإعلامك بحدوث خطأ ما.
  4. المخططات.فيما يلي إجابات النماذج حتى تعرف دائمًا مكان البحث الدقيق عن البيانات التي تحتاجها.
  5. فئات التحكم.أنها تسمح لك بإنشاء الطرق والموارد الخاصة بك. طالما لا داعي للقلق بشأن ذلك، فإنها سوف تصبح أكثر فائدة في وقت لاحق.

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

الخطوة 2: تعرف على نقاط وصول REST API الأكثر فائدة

توفر WordPress REST API كتيبًا مرجعيًا يحتوي على جميع نقاط الوصول (الموارد) حيث يمكنك العثور على النقاط الأكثر فائدة لك. أولاً، عليك معرفة كيفية إنشاء استدعاء HTTP REST API. الجزء الأساسي من أي استدعاء WordPress API يبدو هكذا، استبدل yourdomain.comإليك:

http://yourdomain.com/wp-json/

يمكنك اختبار الاتصال عن طريق تشغيل الأمر الضفيرة في واجهة سطر الأوامر (CLI) باستخدام عنوان URL الخاص بك:

خيارات الضفيرة -X -i http://yourdomain.com/wp-json/

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

للحصول على قائمة JSON بمنشوراتك في WordPress، يمكنك استخدام ما يلي:

بعد ذلك، حاول القيام بما يلي للتحقق من جميع صفحات WordPress الموجودة:

الضفيرة -X الحصول على -i http://yourdomain.com/wp-json/wp/v2/pages

يمكنك تجربة كل نقطة من نقاط الوصول هذه (والمزيد!) في واجهة سطر الأوامر (CLI) لمعرفة الاستجابة التي تنتجها كل نقطة.

الخطوة 3: تعرف على أساسيات مصادقة REST API

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

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

بمجرد تثبيت Basic Auth، ستتمكن من المصادقة عبر واجهة سطر الأوامر (CLI) باستخدام العلامة مستخدم. فيما يلي مثال لكيفية تطبيق طريقة مصادقة المستخدم باستخدام لفةلعرض المشاركات غير المنشورة:

Curl -X GET - اسم مستخدم المستخدم: كلمة المرور -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

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

الخطوة 4: حدد منشور WordPress الأول الخاص بك باستخدام REST API

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

الضفيرة -X الحصول على -i http://yourdomain.com/wp-json/wp/v2/posts

يمكنك استخدام خدعة ملحق المعرف لأي مورد REST API، سواء كنت تريد عرض منشور أو صفحة أو تصنيف.

الخطوة 5: إجراء تغييرات على منشور WordPress الخاص بك عبر REST API

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

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

Curl -X POST - اسم مستخدم المستخدم: كلمة المرور http://yourdomain.com/wp-json/wp/v2/posts/ -d "("العنوان":"عنواني الجديد")"

تأكد من استبدال اسم المستخدم وكلمة المرور ومعرف المشاركة والعنوان باسمك الخاص. يمكنك تحديد المنشور المحدد مرة أخرى للتحقق من التغييرات:

Curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/

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

خاتمة

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

للتلخيص، مررنا بخمس خطوات في طريقنا لتعلم كيفية التفاعل مع WordPress REST API:

  1. مقدمة إلى مفاهيم REST API الأساسية.
  2. الموارد الأكثر فائدة/نقاط وصول REST API.
  3. تعرف على أساسيات مصادقة REST API.
  4. استرداد منشور على WordPress باستخدام REST API.
  5. قم بتعديل منشور WordPress باستخدام REST API.

ما هي الأسئلة التي لديك حول WordPress REST API؟ اكتب لنا في التعليقات!

ممتاز لتكامل تخطيط موارد المؤسسات (ERP).

هذا البرنامج المساعد ممتاز ومفيد جدًا لمزامنة nopCommerce مع أنظمة تخطيط موارد المؤسسات (ERP). ومع ذلك، فهي ليست كاملة وقديمة بعض الشيء. قم بتنزيل الكود المصدري ونموذج التطبيق من GitHub لإضافة الكود المفقود.

تجربتي الشخصية

لقد استخدمته لعميل كان يدير متجرًا فعليًا لسنوات ولم يطلب مني سوى مؤخرًا إنشاء موقع للتجارة الإلكترونية.
لديه بالفعل نظام ERP مخصص للغاية للحفاظ على بيانات التجارة، مع أكثر من 300 جدول، بما في ذلك المنتجات والعملاء.
لذا، على الرغم من أن nopCommerce لديها لوحة إدارة رائعة، إلا أنه اعتبرها بمثابة نفقات عامة لصيانة نظامين وسألني عن الوقت الذي سيستغرقه إنشاء آلية مزامنة تلقائية أحادية الاتجاه من تخطيط موارد المؤسسات (ERP) الخاص به إلى NopCommerce، وفي الوقت الحالي يتم تحديث أسعار المنتجات وكمياتها باستمرار.
قلت إنني بصراحة لا أعرف، وسأستغرق يومًا واحدًا لإجراء بعض التحليلات، ومعرفة المكونات الإضافية المتوفرة وإعطائه تقديرًا أكثر دقة بحلول نهاية اليوم.
لحسن الحظ، وجدت هذا البرنامج المساعد المذهل، وقمت بتنزيل الكود المصدري والعينة المصاحبة له. من السهل تغيير واجهة برمجة التطبيقات (API) حيث يمكنك ببساطة محاكاة بنية قاعدة البيانات لتوفير أي وظائف مفقودة. النموذج أكثر صرامة لأنه أساسي للغاية، ولكنه يوضح كيفية استدعاء وظائف واجهة برمجة التطبيقات (API) وكيفية عمل آلية مصادقة الرمز المميز.
وهذا ما قمت به شخصيا:
1) نسخ نموذج تطبيق الويب MVC على خادم على الإنترانت باستخدام IIS وإنشاء سجل CNAME بحيث يمكن الوصول إليه كـ http://nopSync
2) أعطها نفس "الشكل والمظهر" مثل لوحة nopCommerce Admin عن طريق القيام "بعرض المصدر" والإشارة إلى معظم ملفات CSS نفسها
3) إزالة نموذج تسجيل الدخول ومتغيرات الجلسة وبيانات الاعتماد المشفرة في web.config والمصادقة عليها تلقائيًا عند التحميل
4) استخدم برنامج نصي SQL لإدراج SKU والشركة المصنعة لجميع منتجات nopCommerce. كان هذان الحقلان المدمجان بمثابة مفتاحي لمطابقة المنتجات بشكل فريد بين النظامين
5) توفر واجهة برمجة التطبيقات وظيفة "قائمة" لتحديد جميع المنتجات ولكن يتم إجراء التحديثات واحدًا تلو الآخر.
كان بإمكاني قراءة جميع المنتجات ومن ثم الوصول إلى نظام تخطيط موارد المؤسسات (ERP) في كل مرة، والتحقق من السعر والكمية وتحديث nopCommerce إذا كانت هناك اختلافات.
ومع ذلك، فقد اعتبرت أنه من الأفضل قراءة جميع بيانات nopCommerce في جدول منتجات قاعدة بيانات محلية مع علامة DoesItRequireUpdating افتراضيًا تساوي false.
وكانت فائدة ذلك هي أنه لن يتم الوصول إلى نظام تخطيط موارد المؤسسات إلا مرة واحدة. من خلال استعلام واحد في جدول المنتجات باستخدام JOIN في جداول قاعدة بيانات ERP، تمكنت من تحديث أسعار المنتجات والكميات والأعلام ثم استدعاء واجهة برمجة التطبيقات للتحديث مرة واحدة لكل منتج مع تعيين العلامة على true.
6) سمحت بالمزامنة اليدوية والتلقائية. يدويًا عن طريق إدراج رابط إلى http://nopSync في قائمة لوحة الإدارة، وتلقائيًا عن طريق استخدام مهمة مجدولة لاستدعاء نموذج الويب بشكل متكرر.

عندما سألني العميل، في نهاية اليوم، عن عدد الأيام التي سيستغرقها إنشاء مزامنة تخطيط موارد المؤسسات (ERP)، قلت إنه بفضل مكون SevenSpikes API، أصبح الأمر متصلاً ومتزامنًا. شكرا سبعة سبايكس!