بارها دیدهایم که برای راه اندازی یک افزونه وردپرسی نیازمند کلید اتصالی با عنوان API Key یا API Code هستیم ولی هیچوقت در مورد فایده وجود آن صحبتی نکردیم. اینکه چه کاری انجام میدهد و چه فایدهای دارد و اینکه اصلا چیست و از چه ساختاری تشکیل میشود. دانستن این موضوع یکی از مواردی است که به عنوان صاحب وبسایت ضروری است. در گام اول با هم به بررسی اینکه API چیست و از کجا آمده میپردازیم و سپس به سراغ وردپرس API میرویم در ادغام آن را مورد بررسی قرار میدهیم.
API چیست؟
در واقع API مخفف Application programming interface بوده که به معنای رابط برنامه نویسی کاربردی یا رابط برنامه نویسی نرم افزاری است. البته این رابط همان سطح است. یعنی در سطح برنامه نویسی موجود است. در برنامه نویسی وب یا کامپیوتری، API برای تعریف زیر روالها، پروتکلها و ابزارها برای ساخت نرم افزار و اپلیکیشنها تنظیم میشود. یک API میتواند توسعه یک برنامه را برای محیا کردن ساختار آن در حد ممکن ساده کند. API میتواند برای سیستم براساس وب، سیستم عامل، پایگاه داده، سخت افزار کامپیوتری و نرم افزار کامپیوتر مورد استفاده قرار گیرد. تا اینجا تعریفی کلی از API و عملکردی که به طور عمومی و کلی اجرا میکند انجام دادیم و اما حال باید ببینیم وردپرس API چیست؟
وردپرس API
وردپرس API دقیقا همان معنی API را در وردپرس دارد. یعنی رابط برنامه نویسی نرم افزاری وردپرس است که میتوان آن را به چند بخش با موضوعات جدا از هم تقسیم کرد. هر قسمت از توابع را پوشش داده و آن را به مجموعهای از قابلیتها تقسیم میکند. برای هر بخش از وردپرس نیز کارایی دارد. همچنین در مبحث امنیتی سهم به خصوصی دارد زیرا با این کار باعث میشود تا مشکلات امنیتی برای وبسایت و افزونه پیش نیاید.
مثلا فرض کنید افزونهای را نصب میکنیم و این افزونه از ما درخواست میکند که باید برای اینکه عملکردش فعال شود به وبسایت مرجعی متصل گردد! این اتصال توسط یافتن وردپرس API در وبسایت مرجع و قرار دادن آن در سایت وردپرسی در جای مناسب، امکان پذیر میشود.
مثالی از وردپرس API در افزونه های وردپرسی
برای اتصال به خبرنامههایی مانند میل چیمپ، میلرلایت و… که یک سیستم ارسال خبرنامه هستند حتما باید وردپرس API را از وبسایت آنها دریافت کرده و در تنظیمات افزونه مربوطه قرار داد:
به این ترتیب میتوان سیستم های مورد نظر را به وردپرس متصل کرد.
REST API چیست؟
حتما تا به حال دو کلمه REST و API را کنار هم شنیدهاید. این عبارت مخفف WordPress REST API بوده و مجموعهای از کدهایی است که برای خلق ارتباط بین سایر سیستمها با وردپرس طراحی شده و به گونهای ساخته شده موجب درک سیستمها از یکدیگر خواهد شد. حال با هم به بررسی دستورات REST در وردپرس API میپردازیم:
- GET – منبعی مانند یک پست یا برخی دادههای دیگر را بازیابی میکند.
- POST – منبعی مانند پست، پیوست یا منبع دیگری را به سرور اضافه میکند.
- PUT – از آن میتوان برای ویرایش یا بروزرسانی منبعی که از قبل روی سرور بوده، استفاده کرد.
- DELETE – یک منبع را از سرور حذف میکند. در استفاده از این مورد احتیاط کامل شرط است.
Json چیست؟
JSON مخفف عبارت JavaScript Object Notation است و یک فرمت مشخص برای تبادل داده براساس زبان JavaScript است. امروزه استفاده از API های JSON بسیار رایج بوده زیرا بسیاری از زبانهای برنامه نویسی به راحتی میتوانند دادههای خود را به ساختار JSON تبدیل کنند. بر این اساس، محیط کاربری که براساس این فرمت باشد میتواند بین اپلیکیشنهای مختلف یا زبانهای برنامه نویسی مختلف قرار بگیرد و به عنوان یک مفسر عمل کند.
API وردپرس
اتصال api به وردپرس کار خارق العاده یا مسئله جدیدی نیست. در حقیقت وردپرس API هایی برای تعامل با قالبها، افزونهها وغیره دارد. در مورد استفاده از api در وردپرس باید گفت API موجود برای موارد داخلی وردپرس بسیار خوب عمل کرده اما در ارتباط با نرم افزاریهای خارچ از پلتفرم وردپرس بسیار دردسر سازند و برنامه نویسان زیادی را به زحمت انداخته است به همین دلیل باید به دنبال روشهای نوین وردپرس API بود.
mbh 3 سال عضو همیار وردپرس
سلام
ما چندین سایت فروشگاهی داریم که میخواییم با api بتونیم قیمت و محصول بر روی سایت ها قرار بدیم
چطوری این مورد امکان پذیر است؟
سید سجاد غلام پور 7 سال عضو همیار وردپرس
سلام
در این خصوص باید یک برنامه نویس حرفه ای صحبت کنید تا براتون پروژه رو پیاده سازی کنن.
sajjad 8 سال عضو همیار وردپرس
سلام
میخواستم بدونم افزونه ایی هست که بشه ووکامرس رو به یک نرم افزار حسابداری sync کرد؟
اگر افزونه ایی نیست، نحوه متصل کردن و هماهنگ کردن به چه صورت هستش؟؟
هدف ما اینه که اگر سفارش کالایی به صورت اینترنتی از طریق سایت دریافت شد، مستقیما و به صورت خودکار وارد بخش سیستم حسابداری بشه.
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
این افزونه رو تست کنید:
https://wordpress.org/plugins/akaunting-for-woocommerce/
h j 6 سال عضو همیار وردپرس
سلام خسته نباشید
آیا راهی برای اتصال سیستم عضویت دو سایت وردپرسی به هم با api وجود داره
یعنی از یک سیستم عضویت برای چند سایت استفاده کرد
یعنی اگر ما سه تا سایت داشته باشیم کابر فقط برای سایت اول اکانت درست کند و برای سایت های دیگر هم از همان اکانت استفاده کند
با تشکر
سیما
سلام
آی پی ایران بلاکه و نمیشه کد api رو بگیرم چجوری وارد بشم؟
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
با فیلتر شکن
حمید
متشکرم از اموزش خوبتون خانم کوهستانی
تا حالا هر موقع برای بدست اوردن api اقدام کردم سایت مورد نظر اجازه ورود به سایت نداده
این مشکل فقط برای کاربرای ایرانیه؟
با تغییر ای پی امکان پذیر هست؟
چی کار باید بکنیم؟
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
احتمال میدم برای همین موضوع باشه. با فیلترشکن تست کنید.
ممل
سلام ,برای انجام دادن کاره api, افزونه ایی هست؟
و اینکه اگر که هست میشه راهنمایی کنید!
Alireza
سلام برای دریافت api از یک وبسایت مورد نظر خودم باید ازپلاگین خاصی استفاده کنم؟
REST API
REST API خیلی وقته در دسترس هست اما باگهای زیادی که هنوز داره باعث میشه ازش خیلی استفاده نشه،کاربردای زیادی هم داره که یکیش که درحال حاضر توی ایران مطرحه برای استفاده در برنامه های موبایلی هست که باید به وردپرس وصل بشن.اما اگه نیازه که برنامه موبایل برای وبسایت در سطح معمول استفاده کنید از wp-appkit استفاده کنید، اما توی سطح بالاتر از اپ استودیو و فریم ورک Ionic توصیه میشه که اونجا هم میتونید برای استفاده از هوک های سایت وردپرسی(که ترجیحاً روی SSL) باشه از rest api استفاده کنید که از وردپرس 4.7 به بالا قابل دسترس هست و از طریق json دیتاهای موردنیازتون رو بهره برداری میکنید. پیروز باشید.
وحيد
ايا شما با نحوه ارسال درخواستهاي post با اين افزونه كار كردين من هر كاري ميكنم نميشه پياده سازيش اصلا داكيومن خوبي نداره
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
چه افزونه ای؟
عباس
از کجا میتونیم API یک پلاگین رو پیدا کنیم
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
افزونه هایی که API key نیاز دارند خودشون به سایت مرجع منتقل میکنن شما رو
آقای برنامه نویس
سلام.
ببخشید، من آموزشی در رابطه با REST API وردپرس در سایتتون ندیدم. اما توی منابع خارجی دیدم که به وردپرس همچین قابلیتی اضافه شده.
یک مقاله در این مورد بنویسید حتما استفاده خواهد شد.
باتشکر