آموزش وردپرس, پایگاه دانش

آموزش REST API وردپرس

آموزش REST API وردپرس

آیا به دنبال یک آموزش مبتدی برای REST API وردپرس هستید؟ به جای درستی آمده اید! در این مقاله ما شما را با پروژه REST API وردپرس آشنا خواهیم کرد و توضیح می دهیم که چرا این چنین کار بزرگی است و بینش هایی در مورد نحوه استفاده از آن ارائه می دهیم.

معرفی REST API وردپرس

REST API وردپرس

REST (انتقال دولت نمایندگی) API یک سبک معماری نرم افزاری است که چگونگی ارتباط سرویس های وب با یکدیگر از طریق پروتکل انتقال HyperText را تعیین می کند.

در ژوئن 2013 ، Ryan McCue و Rachel Baker از وردپرس پروژه REST API را در GitHub بارگذاری کردند. پس از به دست آوردن پشتیبانی عمومی زیادی و جذب نزدیک به 100 مشارکت کننده برای بهبود آینده، این پروژه در دسامبر 2015 به هسته وردپرس اضافه شد.

اکنون، تقریباً هر حرفه ای که با وردپرس کار می کند، از REST API شنیده است. با این حال، از زمان ادغام اصلی آن، فقط توسعه دهندگان پیشرفته وقت لازم را به دست آورده اند تا بدانند این ویژگی جدید چقدر قدرتمند است. این بسیار تاسف آور است زیرا این ابزار می تواند امکانات بی پایان برای گسترش وب سایت وردپرس شما باز کند.

REST API وردپرس قصد دارد یک API داخلی ایجاد کند که بتواند با قالب های وردپرس، برنامه های کاربردی تلفن همراه و موارد دیگر ادغام شود. این امکان را به شما می دهد تا وردپرس با هر برنامه ارتباط برقرار کند و توسعه دهندگان حتی می توانند از آن برای ساختن API های خاص خود استفاده کنند.

در اینجا چند روش وجود دارد که می توانید از آن در پروژه های خود استفاده کنید، همانطور که از مثال های واقعی استفاده می شود:

  • Event Espresso از REST API وردپرس برای دسترسی به زیرساخت های داخلی خود استفاده می کند و امکان توسعه برنامه ها را بر اساس خدمات خود فراهم می کند.
  • Simmer، افزونه دستور العمل وردپرس، به توسعه دهندگان اجازه می دهد تا با استفاده از API Developer خود برنامه های دستور العمل مخصوص خود را ایجاد کنند.

نحوه عملکرد REST API

در حال حاضر انواع مختلفی از رابط های برنامه نویسی برنامه (Application Programming Interfaces) (API) وجود دارد، اما REST به عنوان یک استاندارد مدرن شناخته شده است. این کار با دستکاری داده های متنی از یک مکان به مکان دیگر و بدون دسترسی مستقیم به یک پایگاه داده یا رابط کاربری، کار می کند.

REST API از طریق نقاط پایانی پروتکل انتقال HyperText (HTTP) با استفاده از قالب بندی JavaScript Object Notation (JSON) تحویل داده می شود. این نقاط پایانی نمایانگر نوشته ها، صفحات و انواع دیگر داده های وردپرس هستند.

اگر قبلاً با جاوا اسکریپت یا نماد شیء آن کار نکرده اید، ابتدا توصیه می کنیم در مورد اصول JSON بیاموزید.

چرا REST API وردپرس برای برنامه نویسان اهمیت دارد؟

با تشکر از فرمت بندی JSON ، وردپرس REST API اجازه می دهد تا داده ها را با سایر وب سایت ها و نرم افزارهایی که به هر زبان برنامه نویسی نوشته شده است، تبادل کند. از این رو، توسعه دهندگان دیگر محدود به PHP نیستند و می توانند از وردپرس برای رسیدگی به داده ها از طریق REST API استفاده کنند.

تمرکز روزافزون بر API، استدلالهایی درباره مهمترین زبان برنامه نویسی برای یادگیری ایجاد می کند. از آنجا که REST API مبتنی بر جاوا اسکریپت است، به زودی ممکن است دریابید که جاوا اسکریپت سمت سرور می تواند جایگزین PHP شود.

این ایده از این واقعیت پشتیبانی می شود که نرم افزار جدید wordpress.com، یعنی Calypso، کاملاً بر روی JavaScript و REST API اجرا می شود.

علاوه بر این، با استاندارد کردن نحوه تعامل برنامه ها با داده های وردپرس، توسعه وردپرس ساده تر و سریعتر خواهد شد.

به همین دلیل، آموزش REST API وردپرس ما در اینجا قرار دارد تا شما را به توجه بیشتر به این ویژگی ترغیب کند.

5 مرحله برای شروع کار با API REST وردپرس

در این آموزش WordPress REST API ، ما برای اجرای کلیه درخواستها از رابط خط فرمان (CLI) استفاده خواهیم کرد. CLI به شما امکان می دهد تا بدون نیاز به نوشتن اسکریپت های اضافی برای درخواست و پردازش اطلاعات به راحتی با REST API ارتباط برقرار کنید.

اولین کاری که شما باید انجام دهید این است که یک برنامه CLI را روی رایانه خود باز کنید: ترمینال برای macOS و Linux و PuTTY برای ویندوز. پس از آن، آدرس IP مشترک یا اختصاصی خود را کپی کنید و با اعتبار SSH خود وارد شوید.

ما همچنین توصیه می کنیم برای این آموزش از سایت نمایشی یا لوکال هاست استفاده کنید. علاوه بر این، مطمئن شوید که آن را در نسخه وردپرس 4.4 یا بالاتر نیز اجرا کنید.

مرحله 1: آشنایی با مفاهیم اصلی REST API

ما آموزش REST API در وردپرس را با توضیح مفاهیم و اصطلاحات اصلی شروع خواهیم کرد:

  • Routes (مسیر) & endpoints (نقاط پایانی) : یک مسیر URL است که می توانید به روش های مختلف HTTP نقشه برداری کنید، در حالی که یک نقطه پایانی ارتباط بین روش HTTP فردی و یک مسیر است. /wp-json/ نمونه ای از یک مسیر است و شامل تمام نقاط انتهایی مربوطه است.
  • Requests (درخواست ها): نمونه ای از WP_REST_Request. برای ذخیره و بازیابی اطلاعات برای درخواست فعلی استفاده می شود.
  • Responses (پاسخ): داده هایی را که درخواست کردید ارائه می دهد یا خطایی را به شما باز می گرداند تا به شما اطلاع دهد که چه اشتباهی رخ داده است.
  • Schema (طرحواره): لیستی از تمام خصوصیات و پارامترهای ورودی را که REST API می تواند بپذیرد و برگرداند، به شما نشان می دهد.
  • Controller classes (کلاس های کنترل کننده): مکانی که شما قسمتهای متحرک API REST را مدیریت می کنید.

مرحله 2. آشنایی با مفیدترین نقاط پایانی REST API

در این بخش از آموزش REST API ، ما به شما چندین نقطه پایانی مفید REST API را نشان می دهیم که می توانید با سایت خود تست کنید:

1. اول از همه، شما می خواهید بدانید که چگونه می توانید یک تماس HTTP را به REST API بسازید. پایه هر تماس  REST API با وردپرس به شرح زیر است:

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

2. سپس می توانید اتصال را با اجرای دستور curl در CLI خود آزمایش کنید:

curl -X OPTIONS -i http://yourdomain.com/wp-json/

شما باید با یک پیام HTTP موفق درخواست کنید:

HTTP/1.1 200 OK
Date: Wed, 23 Oct 2019 19:51:41 GMT
Server: Apache/2.4.29
X-Robots-Tag: noindex
Link: <http://yourdomain.com/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Allow: GET
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8

3. در مرحله بعد، می توانید با استفاده از چندین نقطه پایانی، این دستور را بشویید و تکرار کنید. این بار، ما به سادگی از نسخه فرش GET استفاده خواهیم کرد تا یک لیست JSON از پست های وردپرس شما را بدست آوریم. برای این کار می توانید از دستور زیر استفاده کنید:

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

از طرف دیگر، ممکن است بخواهید این دستور را امتحان کنید تا تمام صفحات موجود در وردپرس خود را بررسی کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/pages

اگر می خواهید نمونه های بیشتری ببینید، REST API وردپرس یک کتابچه مرجع ارائه می دهد که حاوی نقاط پایانی مفیدی است.

مرحله 3: یادگیری اصول اولیه احراز هویت REST API

برخی از اقدامات و داده ها در REST API عمومی هستند، در حالی که برخی دیگر شما را مجبور به ورود به عنوان مدیر می کند. با این حال، از آنجا که API REST است، جایی برای ورود به سیستم وجود ندارد.

برای حل این مسئله، می توانید هنگام برقراری هرگونه تماس که نیاز به دسترسی اداری دارد، مانند مشاهده محتوای منتشر نشده یا به روزرسانی یک پست، خود را تأیید کنید.

برای این آموزش، ما از افزونه WordPress REST API Basic Auth استفاده خواهیم کرد. این افزونه ساده فقط برای توسعه دهنده است که به شما در یادگیری REST API کمک می کند، اما برای سایت های زنده در نظر گرفته نشده است. در اینجا نحوه نصب آن آورده شده است:

1. افزونه WordPress REST API Basic Auth را دانلود کنید.

2. وارد داشبورد وردپرس خود شوید و به قسمت افزونه ها » افزودن بروید. روی دکمه بارگذاری افزونه کلیک کنید و فایل zip این افزونه را انتخاب کنید.

3. به منو افزونه های نصب شده بروید و افزونه را فعال کنید.

4. پس از نصب Basic Auth، با استفاده از پرچم کاربر، CLI را باز کرده و یک درخواست API را تأیید کنید. در اینجا مثالی از نحوه استفاده از روش تأیید اعتبار کاربر، با استفاده از curl برای مشاهده پست های منتشر نشده آورده شده است:

curl -X GET --user username:password -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

اکنون که احراز هویت اساسی را دریافت کرده اید، می توانید سایر روشهای پیشنهادی را در مستندات REST API کشف کنید.

مرحله 4: اولین پست وردپرس خود را با REST API انتخاب کنید

پس از فهمیدن نحوه برقراری تماس های اولیه با REST API با استفاده از دستور curl، می توانید با انتخاب یک پست خاص اقدام کنید:

1. اول، تمام پست های خود را مانند موارد قبلی لیست کنید:

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

شناسه پستی را که می خواهید بروزرسانی کنید پیدا کنید. برای انتخاب یک پست شخصی، باید در پایان پرس و جو خود یک شناسه اضافه کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/<ID>

شما می توانید برای انتخاب یک شناسه داده شده برای هر نقطه پایانی API REST ، اعم از پست، صفحه یا طبقه بندی، از این دستور استفاده کنید.

مرحله 5: اولین پست وردپرس خود را با REST API آپدیت کنید

سرانجام، سعی می کنیم یک بروزرسانی را برای پست انتخاب شده خود ارسال کنیم.

برای این آموزش REST API، ما سعی خواهیم کرد با استفاده از دستور POST عنوان پست خود را تغییر نام دهیم. فراموش نکنید که تأیید اعتبارنامه را وارد کنید.

تغییرات جدید با استفاده از پرچم d در پایان فرمان ما به اشتراک گذاشته می شود.

در این مثال، یک متغیر شیء JavaScript (عنوان) سفارشی را به یک مقدار دلخواه (عنوان جدید من) منتقل می کند:

curl -X POST --user username:password http://yourdomain.com/wp-json/wp/v2/posts/PostID -d '{"title":"My New Title"}'

حتماً نام کاربری، رمز عبور، شناسه پست و عنوان را با جزئیات وردپرس خود جایگزین کنید.

سپس می توانید برای تأیید تغییرات جدید، پست شخصی را مجددا انتخاب کنید:

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

تبریک می گویم! شما به تازگی اولین ویرایش های اداری خود را با استفاده از REST API وردپرس انجام داده اید.

جمع بندی

REST API افزودنی قدرتمندی برای هسته اصلی وردپرس است و توسعه دهندگان شروع به کشف قابلیت های آن کرده اند. بنابراین، یادگیری کار با آن می تواند مهارت های شما را بهبود ببخشد و شما را قادر سازد برنامه هایی را ایجاد کنید که از خدمات وردپرس استفاده می کنند.

در این آموزش REST API وردپرس، پنج مرحله مهم برای تسلط بر این ویژگی را آموخته اید:

1. آشنایی با مفاهیم اصلی REST API

2. آشنایی با مفیدترین نقاط پایانی REST API

3. یادگیری اصول اولیه احراز هویت REST API

4. انتخاب اولین پست وردپرس با REST API

5. آپدیت اولین پست وردپرس خود با REST API

در حالی که این آموزش REST API وردپرس فقط سطح قابلیت های آن را خراشیده است، ما فکر می کنیم هنوز یک نقطه شروع خوب قبل از عمیق تر شدن در آن است.

5/5 - (6 امتیاز)

(3) نظرات کاربران

  1. بیژن گفت:

    سلام . وققتون بخیر من می خوام توی ووردپرس یه جدول درست کنم و با استفاده از تهیه api اطلاعات قیمتی مدام در حال آپدیت باشه وقیمت رو از اونجا ربخووه و تو سایت من نشون بده می خواستم راهنمایی بفرمایید اصلا راهی وجود داره برای این کار ممنون

  2. مهراد گفت:

    با سلام و تشکر از آموزش خوب شما.
    خیلی عالی بود ممنون.

  3. امید گفت:

    سلام
    من از افزونه استفاده کردم فقط ۸ پستم نمایش می ده چی کار کنم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *