عنوان مقاله :

استفاده از REST API وردپرس در فریمورک لاراول

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 19 تیر 1396
دسته بندی ها : لاراول , وردپرس

ورژن 4.7 وردپرس که جدیداً منتشر شده قابلیت فوق‌العاده‌ای به نام REST API اضافه کرده که قبلاً فقط با استفاده از پلاگین های خارجی ممکن بود. بنابراین ما الان میتونیم براحتی از یک پروژه خارجی به دیتابیس وردپرس کوئری بزنیم. 

در ادامه با انجام یک پروژه عملی کوچک این قابلیت را به شما نمایش میدهیم.

ابتدا من یک وبسایت local با وردپرس بالا آوردم که این صفحه ی داشبورد معمول وردپرس هست.

حالا نوبت استفاده از API هست ! بله درست متوجه شدین نکته ی عجیب این هست که ما میتونیم بعد از نصب وردپرس براحتی API رو فراخوانی کنیم و حتی به یک پیکربندی ساده هم نیازی نداره ! 

خب حالا URL زیر رو وارد می کنیم.

اینجا ما یک فایل JSON که شامل لیستی از پست هاست دریافت میکنیم – همان طور که میدونید وردپرس به صورت پیشفرض پس از نصب یک پست ساده اضافه می کنه بنابراین صفحه ی بالا شامل اون پست میشه.

درواقع ساختار URL برای فراخوانی API بسیار ساده هست :

/wp-json/wp/v2/[endpoint]?[parameters]

درست حدس زدید شما میتونید  اطلاعات پست ها, دسته بندی ها, تگ ها و سایر اطلاعات عمومی رو براحتی و بدون اینکه نیازی به authentication (احراز هویت) باشه بدست بیارید و همچنین میتونید با استفاده از پارامترهای GET اطلاعات رو فیلتر کنید. مثال : 

/wp-json/wp/v2/posts?per_page=2&orderby=title

خب حالا بریم سراغ فراخوانی API از لاراول. من اول یک پروژه جدید از لاراول 5٫4 نصب کردم.

 خب حالا یک درخواست API میدیم تا اطلاعات رو از دیتابیس سایت وردپرسی دریافت کنیم. برای اینکار من از Jquery استفاده کردم اما شما میتونید براحتی از Vue یا Angular هم استفاده کنید. 

خب من فایل /resources/views/welcome.blade.php رو باز میکنم و کد زیر رو وارد میکنم

<!DOCTYPE html>

<html lang="{{ config('app.locale') }}">

    <head>

        <meta charset="utf-8">

        <meta http-equiv="X-UA-Compatible" content="IE=edge">

        <meta name="viewport" content="width=device-width, initial-scale=1">



        <title>Laravel</title>

    </head>

    <body>

        <div id="posts">Loading posts...</div>

    </body>

</html>

قطعاً این صفحه‌ای خالیه که فقط Loading posts... رو نشون میده پس بیایم کد جاوا اسکریپتمون رو قبل از <body/> اضافه کنیم. 


<div id="posts">Loading posts...</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script type="text/javascript">

    $(document).ready(function () {

        $.ajax({

            type: 'GET',

            url: 'http://wordpress.dev/wp-json/wp/v2/posts',



            success: function (data) {

                var posts_html = '';

                $.each(data, function (index, post) {

                    posts_html += '<a href="' + post.link + '"><h2>' + post.title.rendered + '</h2></a>';

                    posts_html += '<p>' + post.excerpt.rendered + '</p>';

                });

                $('#posts').html(posts_html);

            },

            error: function (request, status, error) {

                alert(error);

            }

        });

    });

</script>

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

منبع مقاله : laraveldaily

مقالات پیشنهادی

وردپرس و لاراول

وردپرس یکی از محبوب ترین اپلیکیشن های متن باز جهان هست و این یعنی خیلی از مردم برای مدیریت سایتشون این ابزار رو انتخاب می کنند. شرایطی پیش میاید که اس...

چرا لاراول بهترین فریمورک 2017 است ؟

با تعداد زیاد فریمورک های موجود برای PHP این میتونه گیج‌کننده باشه که بهترین رو انتخاب کنید, مخصوصاً وقتی که بخواید یک اپلیکیشن وب فوق‌العاده برای کسب...

استفاده از CDN در پروژه های لاراولی

همینطور که میدونید امروزه برای افزایش سرعت بارگذاری صفحات وبسایت و همچنین بهبود تجربه کاربری از CDN ها استفاده میشه. در این مقاله می خواهیم به بررسی ا...

AdonisJs فریمورکی شبیه لاراول برای Node.js

Node.js یکی از تکنولوژی های پیشرفته هست که امکان نوشتن اپلیکیشن های در لحظه را با استفاده از زبان جاوا اسکریپت می دهد. در این بین فریمورک های مختلفی ب...

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
mojtaba | 4 ماه پیش

مفید و مختصر. ممنون.

فقط یه سوالی برا من پیش اومده. استفاده از REST برای ساختار API در لاراول چه موقه لازمه؟
مثلا برای یه سایت فروشگاهی در اندازه دی جی کالا لازم هست که از REST استفاده بشه یا اینکه بستگی به حجم کار نداره و در هر پروژه ای بهتر هست استفاده بشه؟ البته اینکه REST سرعت کد نویسی رو بالا میبره یا پایین رو هم اطلاعی ندارم.

باتشکر

حسام موسوی | 4 ماه پیش

فک کنم متوجه نشدید api یک بخش از پروژه است که هیچ رابط کاربری نداره و معمولا توسط اپلیکیشن های دیگه استفاده میشه مثلا شما برای وبسایتتون api مینویسید که در اپلیکیشن های موبایل استفاده کنید

mojtaba | 4 ماه پیش

بله تشکر.

من درست سوال رو نپرسیدم. منظورم اینه که این API میتونه در سمت فرانت (مثلا REACT) فراخوانی بشه و نتیجه در قالب JSON برگرده ؟ اگه بله، این ساختار چقدر به صرفه و لازم هست

تشکر