مارک پلاس

تکنولوژی نوین اینترنتی

REST API وردپرس

دسته‌بندی‌ها

REST API وردپرس
 REST API وردپرس

 داده‌های سایت وردپرسی دسترسی پیدا کرده و آن‌ها را مدیریت کنند. این API به شما اجازه می‌دهد که عملیات مختلفی مانند ایجاد، ویرایش، حذف و خواندن داده‌ها را به‌صورت ریموت (دور از سرور وردپرس) انجام دهید. این ویژگی برای توسعه‌دهندگان ضروری است، به‌ویژه وقتی که بخواهند اپلیکیشن‌های موبایل، برنامه‌های تحت وب یا سیستم‌های خارجی را با وردپرس یکپارچه کنند.

در اینجا برخی از نکات کلیدی در مورد REST API در وردپرس آورده شده است:


1️⃣ مقدمه‌ای بر REST API در وردپرس

REST مخفف "Representational State Transfer" است که یک سبک معماری برای سیستم‌های توزیع‌شده است. در وردپرس، API به شما امکان دسترسی به منابع مختلف سایت مانند نوشته‌ها، صفحات، کاربران و رسانه‌ها را از طریق HTTP می‌دهد. این API به‌طور پیش‌فرض در نسخه‌های جدید وردپرس فعال است و به شما این امکان را می‌دهد که از طریق آدرس‌های URL خاص، درخواست‌های GET، POST، PUT و DELETE ارسال کنید.

URL پایه برای API وردپرس:

arduino
http://yoursite.com/wp-json/wp/v2/

تمامی درخواست‌ها باید از این URL پایه شروع شوند. برای دسترسی به اطلاعات خاص، مانند نوشته‌ها، می‌توانید از URL‌های زیر استفاده کنید:

  • لیست نوشته‌ها:

    bash
    http://yoursite.com/wp-json/wp/v2/posts
  • ایجاد نوشته جدید:

    bash
    http://yoursite.com/wp-json/wp/v2/posts

2️⃣ انواع درخواست‌های HTTP در REST API

در REST API وردپرس، شما می‌توانید از چهار نوع درخواست اصلی استفاده کنید:

  1. GET: برای خواندن داده‌ها. مانند خواندن نوشته‌ها، کاربران، یا رسانه‌ها.

  2. POST: برای ارسال داده‌های جدید. مانند ارسال یک نوشته یا صفحه جدید.

  3. PUT: برای به‌روزرسانی داده‌ها. مانند ویرایش یک نوشته یا صفحه.

  4. DELETE: برای حذف داده‌ها. مانند حذف یک نوشته یا صفحه.


3️⃣ نحوه استفاده از REST API در وردپرس

درخواست GET برای خواندن داده‌ها

درخواست GET برای خواندن اطلاعات از سایت وردپرس استفاده می‌شود. به عنوان مثال، برای دریافت تمام نوشته‌های سایت از آدرس زیر استفاده می‌کنیم:

bash
http://yoursite.com/wp-json/wp/v2/posts

این درخواست یک آرایه از تمام نوشته‌های سایت را به‌صورت JSON برمی‌گرداند.

درخواست POST برای ایجاد یک نوشته جدید

برای ایجاد یک نوشته جدید، باید اطلاعات مورد نظر (مانند عنوان، محتوا، دسته‌بندی‌ها و غیره) را به‌صورت JSON ارسال کنید:

bash
POST http://yoursite.com/wp-json/wp/v2/posts

محتوای JSON برای ارسال یک نوشته جدید:

json
{ "title": "My New Post", "content": "This is the content of the post", "status": "publish" }

درخواست PUT برای به‌روزرسانی یک نوشته

برای ویرایش یک نوشته موجود، باید از روش PUT استفاده کنید و شناسه (ID) نوشته را در URL وارد کنید:

bash
PUT http://yoursite.com/wp-json/wp/v2/posts/123

محتوای JSON برای به‌روزرسانی:

json
{ "title": "Updated Title", "content": "Updated content here" }

درخواست DELETE برای حذف یک نوشته

برای حذف یک نوشته، باید از روش DELETE استفاده کنید و شناسه (ID) نوشته را در URL قرار دهید:

bash
DELETE http://yoursite.com/wp-json/wp/v2/posts/123

4️⃣ استفاده از احراز هویت در REST API

برای انجام عملیات‌های POST، PUT یا DELETE، شما نیاز به احراز هویت دارید تا مطمئن شوید که درخواست‌ها از طرف یک کاربر مجاز ارسال می‌شوند. در وردپرس، می‌توانید از روش‌های مختلفی برای احراز هویت استفاده کنید:

1. احراز هویت با توکن‌های کاربری (Application Passwords)

یکی از ساده‌ترین روش‌ها برای احراز هویت در REST API، استفاده از Application Passwords است که در نسخه‌های جدید وردپرس به‌صورت پیش‌فرض در دسترس است.

2. احراز هویت با JWT (JSON Web Token)

با استفاده از JWT، می‌توانید توکن‌های دسترسی صادر کنید که به شما این امکان را می‌دهند تا به‌طور امن به API دسترسی پیدا کنید. این روش معمولاً برای اپلیکیشن‌های موبایل و وب‌سرویس‌ها استفاده می‌شود.


5️⃣ سفارشی‌سازی و گسترش REST API

افزودن نقاط پایانی (Endpoints) سفارشی

اگر می‌خواهید داده‌های سفارشی یا عملکرد خاصی را در API خود قرار دهید، می‌توانید از کد زیر برای ایجاد نقاط پایانی (endpoints) سفارشی استفاده کنید.

مثال: ایجاد یک نقطه پایانی سفارشی برای دریافت داده‌های سفارشی:

php
function my_custom_api() { register_rest_route( 'my_namespace/v1', '/customdata/', array( 'methods' => 'GET', 'callback' => 'get_custom_data', )); } function get_custom_data() { return new WP_REST_Response( 'Custom data goes here', 200 ); } add_action( 'rest_api_init', 'my_custom_api' );

در این مثال، یک نقطه پایانی جدید به آدرس /wp-json/my_namespace/v1/customdata/ اضافه می‌شود.

تغییر پارامترهای درخواست

می‌توانید پارامترهای درخواست را برای فیلتر کردن داده‌ها یا انجام جستجوهای خاص تنظیم کنید.

مثال: افزودن پارامتر برای جستجو در عنوان نوشته‌ها:

php
function my_custom_search($data) { $args = array( 's' => $data['search'] ); $posts = get_posts($args); return new WP_REST_Response($posts, 200); } add_action('rest_api_init', function() { register_rest_route('my_namespace/v1', '/search/', array( 'methods' => 'GET', 'callback' => 'my_custom_search', 'args' => array( 'search' => array( 'required' => true, 'validate_callback' => function($param, $request, $key) { return is_string($param); } ), ), )); });

6️⃣ استفاده از REST API در اپلیکیشن‌های خارجی

می‌توانید از REST API برای ارتباط وردپرس با اپلیکیشن‌های خارجی مانند اپلیکیشن‌های موبایل (iOS/Android)، برنامه‌های تحت وب یا هر سیستم دیگری که از API پشتیبانی می‌کند، استفاده کنید.

برای مثال، شما می‌توانید از Postman یا ابزارهای مشابه برای آزمایش درخواست‌ها به API وردپرس استفاده کنید.


📌 جمع‌بندی

REST API در وردپرس ابزار قدرتمندی است که به شما این امکان را می‌دهد که به راحتی داده‌ها را از سایت خود بخوانید، ویرایش کنید، حذف کنید و اضافه کنید. با استفاده از این API می‌توانید سایت وردپرسی خود را با دیگر سیستم‌ها و اپلیکیشن‌ها یکپارچه کنید و عملکردهای مختلفی را از راه دور مدیریت کنید.

اگر سوالی دارید یا نیاز به کمک بیشتر دارید، خوشحال می‌شوم که کمک کنم! 🚀

محتوای مرتبط

پست‌های مرتبط