
وقتی بالاخره REST API به هسته وردپرس اضافه شد، پایان یک سفر طولانی بود. بسیاری این تغییر را به عنوان بزرگترین گام رو به جلو برای وردپرس در تاریخ پلتفرم پیش بینی می کردند. با این حال، اگر با REST API آشنا نیستید، ممکن است در مورد معنای همه اینها گیج شوید.
به طور خلاصه، اضافه شدن WordPress REST API وردپرس را به یک چارچوب کاربردی کاملاً کاربردی تبدیل کرد. این امر «توسعه پذیری» یا قابلیت گسترش آن با ویژگی ها و قابلیت های جدید را بسیار افزایش داد. همچنین پتانسیل این پلتفرم را برای برقراری ارتباط با سایر سایت ها و برنامه ها گسترش داد.
مقدمه ای بر REST API
قبل از اینکه عمیقتر به API REST وردپرس بپردازیم، مهم است که اصطلاحات خود را روشن کنیم. این موضوعی است که در آن باید از کلمات اختصاری زیادی استفاده کنیم، پس بیایید ابتدا آنها را روشن کنیم.
اول از همه، شما باید بدانید که رابط های برنامه نویسی کاربردی (API) چیست. به زبان ساده، API وسیله ای است که از طریق آن یک سیستم به سیستم های دیگر اجازه می دهد تا به داده های آن متصل شوند.
به عنوان مثال، زمانی که یک وب سایت دکمه لایک فیس بوک را به یک صفحه اضافه می کند، این کار را با اتصال به API فیس بوک انجام می دهد. این به صفحه وب اجازه می دهد تا از API برای دریافت داده ها (مانند کد دکمه) و ارسال داده (مثل درخواست) استفاده کند.
بنابراین دقیقا REST API چیست؟ Representational State Transfer (REST) یک نوع API مخصوص خدمات وب است. این شامل مجموعه ای استاندارد از دستورالعمل ها و قوانین است که اتصال همه سرویس های “RESTful” را به یکدیگر آسان می کند.
به طور خلاصه، API های REST به شما اجازه می دهند تا به یک سیستم خارجی درخواست دهید. یکی از نمونه های آن توییتر است. می توانید از API آن برای درخواست تعداد مشخصی توییت از یک کاربر خاص استفاده کنید. سپس API توییتهایی را بر اساس پرس و جوی شما برمیگرداند که میتوانید با استفاده از HTML و CSS روی سایت خود جاسازی کنید.
این کوئری ها با استفاده از علامت گذاری شی جاوا اسکریپت (JSON) اجرا می شوند. این زبان به طور خاص برای ارسال، دریافت و ذخیره داده طراحی شده است.
ما بعداً در این مقاله به JSON خواهیم پرداخت، اما توصیه میکنیم از قبل برای آشنایی با این زبان وقت بگذارید. این به شما کمک می کند تا استفاده از WordPress REST API را شروع کنید و برخی از مفاهیمی که در مورد آنها صحبت خواهیم کرد را درک کنید.
WordPress REST API چیست (و چرا مهم است)
وردپرس REST API تقریباً به همان روشی عمل می کند که نمونه هایی را که قبلاً پوشش داده ایم. اساساً WordPress REST API به شما امکان دسترسی کامل به ویژگی های وردپرس را از هر چارچوب سازگار با JSON می دهد.
مشابه نحوه بازیابی و ارسال توییت ها توسط Twitter API، از WordPress REST API نیز می توان برای مدیریت پست ها، کاربران، دسته ها و موارد دیگر از پلتفرم های خارجی استفاده کرد. این به شما امکان می دهد از وردپرس به روش های بی سابقه ای استفاده کنید.
REST API در سال 2013 معرفی شد. این API به عنوان یک افزونه که قرار بود در نسخه 4.1 در هسته وردپرس گنجانده شود آغاز شد. همانطور که اغلب اتفاق می افتد، تاخیرها انتشار را به عقب انداخت تا اینکه در نهایت با انتشار وردپرس 4.7 سه سال بعد در هسته اصلی پیاده سازی شد.
برای بسیاری که WordPress REST API را گامی مهم به جلو برای پلتفرم میدانستند، انتظار طولانی اما ارزشمند بود. ممکن است تعجب کنید که چرا این افزوده تا این اندازه مهم است، به خصوص که بسیاری از کاربران احتمالاً تفاوت زیادی را متوجه نشده اند. همانطور که مشخص است، گنجاندن REST API به دلایل بسیاری یک تغییر اساسی در وردپرس بود.
با پیاده سازی REST API، وردپرس یک قدم از این که صرفاً یک پلتفرم برای ساخت وب سایت باشد فاصله گرفته است. در عوض، اکنون به یک چارچوب کاربردی کامل تبدیل شده است. این بدان معنی است که توسعه دهندگان می توانند از یک سایت وردپرس برای ایجاد برنامه های موبایل و وب یا به عنوان یک مخزن اطلاعات استفاده کنند.
این تغییر همچنین به وردپرس اجازه داد تا یک قدم از وابستگی خود به PHP فاصله بگیرد. با سازگار کردن وردپرس با هر زبان سازگار با JSON، REST API امکانات توسعه دهندگان را تا حد زیادی گسترش داد و به آنها اجازه داد تا از عملکرد وردپرس با هر چارچوبی استفاده کنند.
در نهایت، REST API انعطافپذیری بیشتری را با رابطهایی که میتوانید برای کار با پلتفرم استفاده کنید، فراهم میکند. این باعث شده است که رابط مدیریت کاملاً اختیاری باشد، زیرا اکنون می توانید به طور کامل از طریق دستورات JSON با سایت وردپرس خود تعامل داشته باشید.
حال بیایید ببینیم که چگونه JSON و REST API با هم ترکیب می شوند تا این امکان را فراهم کنند.
نحوه کار REST API و JSON با هم
تا به حال، شما باید جنبه های نظری API وردپرس REST را پوشش داده باشید. بنابراین بیایید به جنبه کاربردی تر این فناوری نگاه کنیم. کتابچه راهنمای رسمی استفاده از REST API را به شرح زیر توصیف می کند:
WordPress REST API نقاط پایانی API را برای انواع داده های وردپرس فراهم می کند که به توسعه دهندگان اجازه می دهد با ارسال و دریافت اشیاء JSON (جاوا اسکریپت Object Notation) با سایت ها از راه دور تعامل داشته باشند.
اولین کلمه ای که در اینجا باید روی آن تمرکز کرد «نقاط پایانی» است. ساده ترین راه برای فکر کردن به نقطه پایانی، به عنوان یک قطعه داده یا تابعی است که می تواند از طریق یک جستار JSON فراخوانی شود. به طور پیش فرض، وردپرس تعداد زیادی از نقاط پایانی استاندارد را برای استفاده فراهم می کند، اما توسعه دهندگان همچنین می توانند نقاط پایانی سفارشی ایجاد کنند.
برای رسیدن به نقطه پایانی، باید از یک “مسیر” استفاده کنید که به شکل یک URL معمولی است. حتی می توانید همین الان این را خودتان امتحان کنید.
به سایت وردپرس خود بروید و اضافه کنید /wp-json/wp/v2 تا انتهای URL آن اگر سایت شما هست http://example.comوارد خواهید شد http://example.com/wp-json/wp/v2.
وقتی این مسیر را بارگیری می کنید، به نقطه پایانی می رسید که در این حالت تمام محتوا و ابرداده سایت شما را با فرمت JSON (درهم) برمی گرداند. با استفاده از مسیرهای مختلف، می توانید به نقاط پایانی مختلف برای دریافت انواع خاصی از اطلاعات و انجام وظایف مختلف دسترسی داشته باشید.
سه جستار اصلی JSON وجود دارد که با REST API استفاده خواهید کرد، بنابراین بیایید اکنون نیز نگاهی گذرا به آن ها بیندازیم. آن ها هستند:
- آن را بگیرید. این نوع پرس و جو برای بازیابی و شمارش داده ها از API استفاده می شود. به عنوان مثال، شما می توانید از یک درخواست GET برای بازگرداندن لیستی از کاربران در سایت خود یا جمع آوری پست های وبلاگ از یک دوره زمانی خاص استفاده کنید.
- انتشار. این درخواست برای ارسال داده به API استفاده می شود. این به شما امکان می دهد اطلاعات جدیدی مانند اضافه کردن کاربران و پست های جدید یا به روز رسانی داده های موجود را به وردپرس ارسال کنید.
- حذف. همانطور که از نام آن پیداست، این درخواست برای حذف داده ها استفاده می شود. این به شما امکان می دهد پست ها، صفحات، کاربران و موارد دیگر را حذف کنید.
GET و POST گاهی اوقات می توانند با یک نقطه پایانی برای دستیابی به نتایج متفاوت استفاده شوند.
به عنوان مثال، بیایید به نقطه پایانی نگاه کنیم /من/تنظیمات/. اگر بخواهید یک درخواست GET در این نقطه پایانی انجام دهید، فهرستی از تنظیمات کاربر فعلی را دریافت خواهید کرد. با این حال، با استفاده از یک درخواست POST در همان نقطه پایانی، میتوانید تنظیمات را بهروز کنید.
محتوا را مستقیماً به صندوق ورودی خود تحویل دهید
در وبلاگ ما مشترک شوید و محتوای عالی را درست مانند این دریافت کنید که مستقیماً به صندوق ورودی شما تحویل داده می شود.
شروع کار با WordPress REST API
اکنون میخواهیم تمام این تئوریها را عملی کنیم و نمونههای بسیار اساسی از کارهایی که میتوانید با REST API انجام دهید را به شما نشان میدهیم. این فقط یک طعم است که به شما کمک می کند با استفاده از REST API برای رسیدگی به درخواست های وردپرس راحت باشید.
برای مثالهای بیشتر، توصیه میکنیم کتابخانه و منابع مرجع رسمی REST API را بررسی کنید.
تکنیکهای زیر از شما میخواهد که از خط فرمان برای پردازش درخواستهای JSON استفاده کنید. این به شما امکان می دهد با استفاده از یک رابط متنی و ارسال دستورات ساده با سایت وردپرس خود تعامل داشته باشید.
اگر تجربه ای در استفاده از خط فرمان ندارید، توصیه می کنیم ابتدا کمی وقت بگذارید و اصول اولیه را یاد بگیرید. همچنین ممکن است بخواهید از SSH برای اتصال به سایت خود استفاده کنید.
در نهایت، وقتی کارتان تمام شد، بیایید به چند نمونه از نحوه استفاده از WordPress REST API نگاه کنیم!
1. پست ها را از یک سایت برگردانید
در حالی که واضح است که برای ویرایش یک وب سایت به مجوز مناسب نیاز دارید، تقریباً می توان برخی از اطلاعات را از هر سایت وردپرس استخراج کرد. این به این دلیل است که REST API در تمام نصب های وردپرس سازگار است.
همانطور که بحث کردیم، دلیل اصلی وجود API ها این است که به برنامه های کاربردی خارجی اجازه دسترسی به برخی از داده های شما را می دهند. در این مثال، میتوانیم یک پست را از وبلاگ رسمی وردپرس بازیابی کنیم:
curl https://wordpress.org/news/wp-json/wp/v2/posts/1
شناسه روی تنظیم شده است 1، به این معنی که این پرس و جو اولین پست وبلاگ را بازیابی می کند. شاید دیدن آن سخت باشد زیرا JSON خیلی خوانا نیست، اما در بین کدها می توانید تمام محتوا و ابرداده پست را ببینید:
سپس می توانید از این اطلاعات در یک برنامه استفاده کنید، برای مثال برای نمایش آن با استفاده از سبک سفارشی خود.
اگر می خواهید هر پست وبلاگ را به جای آن برگردانید، تنها کاری که باید انجام دهید این است که شناسه را در پایان حذف کنید. با این حال، احتمال اینکه بخواهید تعداد انتخابی از پست ها را برگردانید، بیشتر است. پرس و جو زیر سه پست آخر را برمی گرداند:
curl https://wordpress.org/news/wp-json/wp/v2/posts/?per_page=3
شما می توانید این را خودتان با سایت های دیگر و حتی وبلاگ خود امتحان کنید.
2. یک پست را به روز کنید
حالا بیایید سعی کنیم با استفاده از REST API تغییراتی در وردپرس ایجاد کنیم. برای انجام این کار، باید به سایتی که می خواهید مدیریت کنید وارد شوید. به عنوان مثال، اگر از SSH استفاده می کنید، باید وارد سرور خود شوید.
در این مثال، ما یک پست موجود را به روز می کنیم. ابتدا، بیایید از یک پرس و جو برای به روز رسانی عنوان پست با شناسه استفاده کنیم 1:
curl -X POST http://example.com/wp-json/wp/v2/posts/1 -d '{"title":"A Brand New Title"}'
این کاملا واضح است. آرگومان عنوان نشان میدهد که عنوان پست را بهروزرسانی میکنید، که پس از آن یک رشته متن حاوی جایگزین است.
چندین آرگومان دیگر وجود دارد که می توانید برای ایجاد تغییرات در یک پست از آنها استفاده کنید. به عنوان مثال، می توانید از یک لیست برای اختصاص دسته بندی به یک پست، انتشار آن یا تغییر کامل محتوای آن استفاده کنید.
3. حذف یک کاربر
در نهایت، بیایید ببینیم که چگونه میتوانید دادهها را با استفاده از REST API حذف کنید. در این مثال یک کاربر را از سایت حذف می کنیم. به طور طبیعی، قبل از اینکه بتوانید از این ویژگی استفاده کنید، باید وارد سیستم شوید و مجوز مدیریت کاربران را داشته باشید.
سپس می توانید از کوئری زیر برای حذف کاربر با شناسه استفاده کنید 101:
curl -X DELETE http://example.com/wp-json/wp/v2/users/101
با این کار کاربر مشخص شده از سایت حذف می شود. می توانید از پارامترهای اضافی برای تخصیص مجدد پست های کاربر به کاربر دیگری بر اساس شناسه آنها استفاده کنید. از طرف دیگر، می توانید به جای اضافه کردن کاربر به سطل زباله، حذف دائمی را مجبور کنید.
از طریق این مثال ها، می توانید ببینید که چگونه REST API به شما امکان می دهد محتوای سایت خود را مدیریت کنید و با دیگران ارتباط برقرار کنید. اگر میخواهید بیشتر بدانید، توصیه میکنیم که راهنمای REST API را بررسی کنید.
توسعه وردپرس را کاوش کنید
WordPress REST API یک گام بزرگ به جلو برای پلتفرم بود، دور از ریشه های آن و به آینده. توسعه دهندگان از روز اول هیجان زده بودند، اما اگر از ابتدا با REST API آشنا نبوده اید، ممکن است در مورد علت سردرگم باشید.
اگرچه REST API ممکن است برای مبتدیان طاقت فرسا به نظر برسد، اما برای استفاده از برخی پرس و جوهای اولیه نیازی نیست که یک توسعه دهنده با تجربه باشید. به عنوان مثال، API به شما امکان می دهد کارهای مختلفی را در سایت خود (یا سایرین) انجام دهید، مانند بازگرداندن پست ها، به روز رسانی پست ها و حذف کاربران.
آیا به دنبال هاستینگ با کارایی بالا برای سایت وردپرس خود هستید؟ در Dreamhost، برنامههای مدیریت شده DreamPress ما محیطهای صحنهسازی حرفهای، پشتیبانگیری خودکار، حافظه پنهان داخلی و موارد دیگر را ارائه میدهند. برنامه های امروز ما را بررسی کنید!
با DreamPress کارهای بیشتری انجام دهید
به روز رسانی خودکار DreamPress، حافظه پنهان و حفاظت های امنیتی قوی، مدیریت وردپرس را از دست شما خارج می کند، بنابراین می توانید بر روی وب سایت خود تمرکز کنید.