عنوان مقاله :

استفاده از 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

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

ارتباط با Instagram API در لاراول

در این مقاله میخواهم به شما نشان بدهم که چطور میشه با استفاده از Instagram API به فید اینستاگرام دسترسی پیدا کنیم. ما میتونیم به فید اینستاگرام رو بدو...

بک آپ گیری از پروژه لاراول

این پکیج یک بک آپ از اپلیکیشن شما میگیره و یک فایل zip شامل تمام مسیرها و دیتابیس هایی که شما مشخص کردید تحویل میده. این بک آپ میتونه در هر فایل سیستم...

WordFence مدافع وبسایت های وردپرسی

با بیشتر از یک میلیون نصب ، WordFence یکی از محبوب ترین پلاگین های وردپرس محسوب میشه . این پلاگین بعد از نصب کدهای شما را اسکن میکند و همینطور به عنوا...

یه لقمه نون و لاراول

در این مقاله کوتاه میخواهم در مورد برخی از موضوعاتی در لاراول صحبت کنم که واقعا کسانی که خواهان کار با لاراول هستند باید این موارد را بدانند . بارها و...

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

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

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

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

باتشکر

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

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

mojtaba | 3 ماه پیش

بله تشکر.

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

تشکر