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

13 خرداد 1398, خواندن در 3 دقیقه

ورژن 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

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید