وبگرانمقالاتآموزش وردپرسآموزش REST API وردپرس + دانلود ویدئوی آموزشی

آموزش REST API وردپرس + دانلود ویدئوی آموزشی

  • مدیر
  • 3 آوریل, 2020
  • 637 بازدید
آموزش REST API وردپرس + دانلود ویدئوی آموزشی

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

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

راه های مختلفی برای دریافت اطلاعات یک یا چند نوشته وجود دارد:

  1. استفاده از تابع WP_QUERY در پوسته سایت
  2. استفاده از AJAX API از طریق فایل admin-ajax.php
  3. استفاده از WordPress REST API

فرض کنید که تعداد زیادی مقاله در سایت خود دارید که می خواهید در اپلیکیشن موبایلی که می خواهید بسازید نشان داده شود. این کار را می توانید با استفاده از روش های 2 و 3 انجام دهید ولی روش دوم پیچیدگی زیاد و سرعت اجرای کمی دارد پس به شما پیشنهاد میکنیم این کار را با استفاده از روش 3 انجام دهید.

5 مرحله برای استفاده از API REST وردپرس

ابتدا مطمئن شوید که وردپرس شما به وردپرس 4.4 یا بالاتر به روزرسانی شده باشد همچنین به شما پیشنهاد میکنیم این آموزش را روی لوکال هاست اجرا و تمرین کنید ضمنا اگر اطلاعات کمی در مورد وردپرس دارید به شما پیشنهاد می کنیم قبل از شروع مجموعه ویدئوی آموزشی وردپرس را مشاهده و تمرین کنید.

ما در این 5 مرحله از رابط کاربری خط فرمان یا ( CLI ) استفاده میکنیم که در سیستم عامل مکینتاش و لینوکس ترمینال و برای ویندوز cmd است که البته اگر از لوکال هاست استفاده نکنید بایستی با استفاده از PUTTY به خط فرمان سرور دسترسی داشته باشید.

مرحله اول: آموزش ایجاد مسیر Route در وردپرس Rest Api

میخواهیم یک مسیر در وردپرس REST API ایجاد کنیم تا کاربر ابتدا توکن خود را با استفاده از header دریافت کند و سپس اطلاعاتی ( که در اینجا نمایش تمامی نوشته (posts) های سایت است ) را در اپلیکیشن خود نمایش دهد برای این کار با استفاده از اکشن rest_api_init این مسیر را ایجاد می کنیم:

add_action( 'rest_api_init', 'add_custom_posts_api');
function add_custom_posts_api(){
	register_rest_route( 'method', '/get_posts/', array(
		'methods' => 'GET',
		'callback' => 'get_custom_posts_data',
	));
}

در بالا توسط تابع register_rest_route مسیری را ایجاد کردیم و با فرض اینکه دامنه ما webgaran.ir باشد خروجی مسیر به شکل زیر در می آید:

http://webgaran.ir/wp-json/method/get_posts/

اگر بخواهید عبارت wp-jason را از آدرس حذف کنید باید با استفاده از فیلتر rest_url_prefix  اقدام کنید که فراموش نکنید بعد از آن باید در قسمت پیوند های سایت یک بار ذخیره پیوند های یکتا را بزنید تا آدرس دهی به روز شود.

add_filter( 'rest_url_prefix', 'buddydev_api_slug');
function buddydev_api_slug( $slug ) {
	$slug = 'api';
	return $slug;
}

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

http://Webgaran.ir/api/method/get_posts/

مرحله دوم: دریافت تمام نوشته ها

با توجه به اینکه در اکشن ایجاد مسیر در پارامتر callback تعریف کردیم که اطلاعات برای نمایش باید به تابع get_custom_posts_data  ارجاع شود.

function get_custom_posts_data()
{
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => -1
    );
    $query = new WP_Query( $args );
    $posts = array();
    while ( $query->have_posts() ) {
        $query->the_post();
        array_push( $posts, array(
            'title' => get_the_title(),
            'content' => wp_trim_words( get_the_content(), 18 ),
            'permalink' => get_the_permalink(),
            'author' => get_the_author()
            )
        );
    }
    wp_reset_postdata();
    return $posts;
}

توسط تابع get_custom_posts_data تمامی نوشته های سایت نمایش داده می شود.

مرحله سوم: تست و بررسی مسیر

در این مرحله بایستی مسیری را که ایجاد کرده ایم را توسط نرم افزار محبوب Postman بررسی و تست کنیم تا ببینیم همه مقالات را دریافت می کنیم یا خیر.

postman test api

postman test api

گام چهارم: نمایش مسیر با جی کوئری

در نهایت لیست تمامی مقالات و اطلاعات اضافیشان را با تابع getJSON دریافت می کنیم.

( function ( $ ) {
    $.getJSON( 'https://webgaran.ir/api/get_posts', ( results ) => {
        $( ".featured-posts" ).html(`
              <ul>
              ${results.map( item =>
                    `<li>
                       <a href="${item.permalink}">${item.title}</a>
                     </li>
                     <li>${item.content}</li>
                     <li>${item.author}</li>`
                    ).join( '' )}
             </ul>
            `);
    });
})( jQuery )

همچنین با استفاده از تابع curl در php هم می توانید اطلاعات را نمایش دهید.

$curl = curl_init();
curl_setopt_array($curl, array(
	CURLOPT_URL => "http://Webgaran.ir/api/method/get_posts/",
	CURLOPT_RETURNTRANSFER=>true,
	CURLOPT_CUSTOMREQUEST => "get",
	CURLOPT_POSTFIELDS => ""
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

$result = json_decode($response, true)['data'];
foreach($result as $key => $value) {
	echo $key." : ".$value;
	echo "<br>";
}

با مشاهده ویدئوی آموزشی زیر می توانید در زمینه wordpress REST API  حرفه ای شوید. کاری از مجموعه های آموزش لینداست که به شما پیشنهاد می کنیم حتما مشاهده بفرمایید.

لینک های دانلود حجم فایل: 237.0MB Lynda WordPress REST API (WP-API) First Look_git.ir.rar




3 دیدگاه برای این مطلب ثبت شده است

  • بسیار عالی بود ممنونم
    خوشحال میشم به سایت ما هم سزی بزنید و نظرتون رو بنویسید
    اگر تمایل داشتید با هم همکاری هم داشته باشیم در زمینه تولید محتوا و طراحی سایت

    1. بله حتما

  • استفده از تابع curl خیلی راحتتره

  • دیدگاه خود را بیان کنید :

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


    *
    *