Rest API یک سبک معماری است که نحوه ارتباط سرویسهای وب را تعیین میکند. یک قابلیت جدید در وردپرس بوده که کار با آن را بسیار جذاب میکند. حتما تا به حال دیدهاید که برخی افزونهها برای اتصال به مرجع عملکردی خود نیازمند یک کد API هستند. برای این منظور شما باید این کد را با کمک سایت اصلی به افزونه متصل کنید. پس در واقع کدهای API رابطهایی هستند که ارتباط موثری را در وب برقرار میکنند. در این مقاله قصد داریم بیشتر درباره Rest API در وردپرس بدانیم و آموزش کار با آن را نیز شرح دهیم. با ما همراه باشید…
آشنایی با Rest API در وردپرس
همانطور که گفتیم REST API وردپرس یک API داخلی ایجاد میکند که با هدف ادغام با قالبها، افزونهها، برنامههای کاربردی تلفن همراه و … روی کار میآید. در واقع این ویژگی به وردپرس امکان میدهد تا با سایر برنامهها در تعامل باشد و از همه مهمتر اینکه توسعه دهندگان میتوانند از API برای ساخت برنامههای منحصر به فرد خود استفاده کنند.
انواع مختلفی از رابطهای برنامه نویسی برای API وجود دارد اما REST به عنوان یک استاندارد مشخص مدنظر است. REST API به دسترسی مستقیم Database یا پنل مدیریتی احتیاج نداشته و فقط با ویرایش اطلاعات متنی در هر نرم افزار دیگری میتوانید به اطلاعات سایت موردنظر دسترسی داشته باشید. REST API از طریق پروتکل انتقال HTTP و با استفاده از فرمت JSON ارائه میشود. این ویژگی امکان دسترسی به نوشتهها، محصولات، برگهها و سایر اطلاعات وردپرس را فراهم میکند.
REST API چگونه کار می کند؟
به لطف فرمت JSON، WordPress REST API به وردپرس اجازه میدهد تا دادهها را با سایر وبسایتها و نرم افزارهای نوشته شده به هر زبان برنامه نویسی مبادله کند. از این رو، توسعه دهندگان دیگر محدود به PHP نیستند و میتوانند از وردپرس برای مدیریت دادهها از طریق REST API استفاده کنند. تمرکز فزاینده بر روی API نیز بحثهایی را در مورد مهمترین زبان برنامه نویسی برای یادگیری ایجاد میکند. از آنجایی که REST API مبتنی بر جاوا اسکریپت است، ممکن است به زودی متوجه شوید که جاوا اسکریپت سمت سرور میتواند به طور کلی جایگزین PHP شود.
این ایده با این واقعیت پشتیبانی میشود که نرم افزار جدید WordPress.com، Calypso، به طور کامل بر روی JavaScript و REST API اجرا خواهد شد. علاوه بر این، با استاندارد کردن نحوه تعامل برنامهها با دادههای وردپرس، توسعه وردپرس سادهتر و سریعتر میشود.
5 مرحله برای شروع کار با WordPress Rest API
در این آموزش Rest API در وردپرس، ما از رابط خط فرمان (CLI) برای اجرای تمام درخواستها استفاده خواهیم کرد. CLI شما را قادر میسازد تا بدون نیاز به نوشتن اسکریپتهای اضافی برای درخواست و پردازش اطلاعات، به راحتی با REST API تعامل کنید. اولین کاری که باید انجام دهید این است که یک برنامه CLI را در رایانه خود باز کنید: ترمینال برای macOS و Linux و PuTTY برای ویندوز. پس از آن، آدرس IP مشترک یا اختصاصی خود را کپی کرده و با اعتبار SSH خود وارد شوید. همچنین توصیه میکنیم از یک سایت دمو یا لوکال برای این آموزش استفاده کنید. علاوه بر این، مطمئن شوید که روی وردپرس نسخه 4.4 یا بالاتر نیز اجرا میشود.
مرحله 1: با مفاهیم کلیدی REST API آشنا شوید
ما آموزش WordPress REST API خود را با توضیح مفاهیم و اصطلاحات کلیدی آغاز خواهیم کرد:
- مسیرها و نقاط پایانی – مسیر یک URL است که میتوانید آن را به روشهای مختلف HTTP نگاشت کنید، در حالی که نقطه پایانی ارتباطی بین یک روش HTTP فردی و یک مسیر است. /wp-json/ نمونهای از یک مسیر بوده و شامل تمام نقاط پایانی مربوطه است.
- درخواستها – نمونهای از WP_REST_Request. برای ذخیره و بازیابی اطلاعات درخواست فعلی استفاده میشود.
- پاسخ – دادههایی را که درخواست کردهاید ارائه میکند یا یک خطا برمیگرداند تا به شما اطلاع دهد که چه اشتباهی رخ داده است.
- طرحواره – لیستی از تمام ویژگیها و پارامترهای ورودی را که REST API میتواند بپذیرد و برگرداند، به شما نشان میدهد.
- کلاسهای کنترلر – مکانی که در آن قطعات متحرک REST API را مدیریت میکنید.
مرحله 2: با مفیدترین نقاط پایانی REST API آشنا شوید
در این قسمت از آموزش Rest API در وردپرس، چندین نقطه پایانی مفید REST API را به شما نشان خواهیم داد که میتوانید با سایت خود آزمایش کنید.
اول از همه، باید بدانید که چگونه یک فراخوانی HTTP با REST API ایجاد کنید. اساس هر تماس WordPress REST API به شرح زیر است:
سپس، میتوانید اتصال را با اجرای دستور curl در CLI خود آزمایش کنید:
curl -X OPTIONS -i
باید یک پیام 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
در مرحله بعد، میتوانید این دستور را با استفاده از چندین نقطه پایانی شستشو داده و تکرار کنید. این بار، ما به سادگی از نسخه GET curl برای گرفتن لیست JSON از پستهای وردپرس شما استفاده میکنیم. برای این کار میتوانید از دستور زیر استفاده کنید:
curl -X GET -i
از طرف دیگر، ممکن است بخواهید این دستور را برای بررسی تمام صفحات موجود وردپرس خود امتحان کنید:
curl -X GET -i
مرحله 3: اصول احراز هویت REST API را بیاموزید
برخی از اقدامات و دادهها در REST API عمومی هستند، در حالی که برخی دیگر از شما میخواهند که به عنوان مدیر و ادمین وارد سیستم شوید. با این حال، از آنجایی که REST API است، جایی برای ورود وجود ندارد. برای دور زدن این مشکل، میتوانید هنگام برقراری تماسی که نیاز به دسترسی مدیریتی دارد، مانند مشاهده محتوای منتشر نشده یا بهروزرسانی یک پست، خود را احراز هویت کنید.
برای این آموزش، ما از افزونه WordPress REST API Basic Auth استفاده خواهیم کرد. این یک افزونه ساده فقط برای توسعه دهندگان است که به شما در یادگیری REST API کمک میکند، اما برای سایتهای زنده در نظر گرفته نشده است. در اینجا نحوه نصب افزونه آورده شده است:
- افزونه WordPress REST API Basic Auth را دانلود کنید.
- وارد داشبورد وردپرس خود شوید و به پلاگین -> افزودن جدید بروید. روی دکمه آپلود افزونه کلیک کنید و فایل فشرده افزونه را انتخاب کنید.
- پس از نصب Basic Auth، CLI را باز کنید و با استفاده از پرچم کاربر، یک درخواست API را احراز هویت کنید.
در اینجا مثالی از نحوه اعمال روش احراز هویت کاربر با استفاده از curl برای مشاهده پستهای منتشر نشده آورده شده است:
curl -X GET --user username:password -i
هشدار! به خاطر داشته باشید که روش احراز هویت ذکر شده اعتبارنامههای رمزگذاری شده را ارسال میکند. با این حال، آنها رمزگذاری نشدهاند. اگر از طریق یک اتصال امن HTTPS/TLS انجام نشود، چنین روشی میتواند بسیار ناامن باشد.
اکنون که به احراز هویت اولیه دست پیدا کردهاید، میتوانید سایر روشهای توصیه شده را در اسناد REST API جستجو کنید.
مرحله 4: اولین پست وردپرس خود را با REST API انتخاب کنید
هنگامی که نحوه برقراری تماسهای اولیه با REST API با استفاده از دستور curl را فهمیدید، میتوانید با انتخاب یک پست خاص ادامه دهید.
ابتدا، تمام پستهای خود را همانطور که قبلا انجام دادیم فهرست کنید:
curl -X GET -i
شناسه پستی را که میخواهید بهروزرسانی کنید، پیدا کنید. برای انتخاب یک پست جداگانه، باید یک شناسه به انتهای درخواست خود اضافه کنید:
curl -X GET -i ;
میتوانید از این دستور برای انتخاب یک شناسه معین برای هر نقطه پایانی REST API، خواه یک پست، برگه یا دستهبندی در وردپرس استفاده کنید.
مرحله 5: اولین پست وردپرس خود را با REST API به روز کنید
در نهایت، بیایید سعی کنیم بهروزرسانی را برای پست انتخابی خود ارسال کنیم. برای این آموزش REST API، سعی می کنیم با استفاده از دستور POST نام پست خود را تغییر دهیم. فراموش نکنید که اعتبارنامه احراز هویت را نیز درج کنید. تغییرات جدید با استفاده از پرچم d در انتهای دستور ما به اشتراک گذاشته خواهد شد.
در این مثال، یک متغیر شیگرای جاوا اسکریپت سفارشی (عنوان) را به یک مقدار سفارشی (عنوان جدید من) ارسال میکنید:
curl -X POST --user username:password -d '{"title":"My New Title"}'
جمع بندی
REST API یک افزونه وردپرس قدرتمند موثر در هسته وردپرس است و توسعه دهندگان شروع به کشف قابلیتهای آن کردهاند. بنابراین، یادگیری کار با Rest API در وردپرس میتواند مهارتهای شما را بهبود بخشیده و شما را قادر میسازد برنامههایی ایجاد کنید که از خدمات وردپرس استفاده میکنند. در این آموزش وردپرس REST API، پنج مرحله مهم برای تسلط بر این ویژگی را یاد گرفتید:
- با مفاهیم کلیدی REST API آشنا شوید.
- با مفیدترین نقاط پایانی REST API آشنا شوید.
- اصول احراز هویت REST API را بیاموزید.
- اولین پست وردپرس خود را با REST API انتخاب کنید.
- یک پست وردپرس را با REST API به روز کنید.
نویسنده بهاره کوهستانی
سایر مقالات نویسندهبهاره کوهستانی یک نویسنده و کارشناس حرفهای در حوزه وردپرس است که با چندین سال تجربه، مقالات آموزشی و راهنماهای کاربردی متعددی را برای کاربران منتشر کرده است. مطالب او به کاربران کمک میکند تا با بهرهگیری از ابزارها و تکنیکهای نوین، سایتهای خود را به سطح بالاتری ارتقا دهند.
خیلی عالی منبع هم قرار بدید لطفا