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

این مطلب را با دیگران به اشتراک بگذارید :

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

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

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

استفاده از api Asana در لاراول

اخیرا پروژه‌ای را شروع کردم که از API یک ابزار مدیریت پروژه به نام Asana استفاده می‌کند. پس تصمیم گرفتم معرفی کوتاهی برای هر کسی که می‌خواهد از آن است...

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

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

مقدمه ای بر ساخت API با فریمورک hapi.js

در این آموزش قصد داریم علاوه بر شرح مقدمه ای در باب فریمورک hapi.js که بر پایه ی Node.js هست, یک پروژه ساده API هم بسازیم و شما میتونید از طریق این لی...