چطور با استفاده از PHP و RESTful API، اطلاعات را از وردپرس دریافت کنیم؟
احسان

نویسنده

  • 1399/11/16
  • 0
  • 55
3 سال پیش| برنامه‌نویسی وب

چطور با استفاده از PHP و RESTful API، اطلاعات را از وردپرس دریافت کنیم؟

چطور با استفاده از PHP و RESTful API، اطلاعات را از وردپرس دریافت کنیم؟

گفته می‌شود در نسخه‌های اخیر، وردپرس به طور رسمی قابلیت استفاده از API را فراهم نموده و این قابلیت به معنی این است که انعطاف‌پذیری وردپرس بیش از پیش بالا رفته و به راحتی می‌توانیم با آن ارتباط برقرار کنیم.

در این مثال من با یک مثال بسیار ساده و با استفاده از API که در اختیارم قرار دارد، اقدام به بررسی این قابلیت و دریافت تعدادی پُست از وبلاگ وردپرسی خود و نمایش آن در وبسایت دیگرم می‌کنم.

لازم به ذکر است که پس از درخواست به وبلاگ مورد نظر، پاسخ‌ها بر اساس JSON خواهند بود که من آن‌ها را با PHP هندل کرده‌ام.

$json_url = 'https://ehsan.in/blog/wp-json/wp/v2/posts?per_page=10';
$json = file_get_contents($json_url);
$data = json_decode($json, TRUE);

            for($i = 0;$i<10;$i++){
                echo "<a href=\"{$data[$i]['link']}\" target=\"_blank\">{$data[$i]['title']['rendered']}</a><br>";
            }

در کد بالا wp-json/wp/v2 اعلام می‌کند که قصد استفاده از API را دارد و posts نیز مشخص می‌کند که قصد دریافت پُست‌ها را داریم و درخواست HTTP ما از نوع GET است.

per_page=10 را هم من به صورت دلخواه قرار داده‌ام که اعلام کنم درخواست برگرداندن 10 نوشته‌ی اخیر را دارم و حتی اگر این گزینه را هم ننویسیم، به صورت پیش‌فرض 10 نوشته‌ی آخر بازگردانده خواهند شد.

سپس فانکشن file_get_contents خروجی JSON را دریافت کرده. سپس خروجی را با json_decode، دیکد کرده و در متغیری ریخته و در نهایت با استفاده از یک حلقه‌ی for عناوین یا همان titleها را به همراه لینکشان چاپ می‌کنم.

برای مشاهده‌ی مستندات مفید و کامل به لینک زیر مراجعه کنید:

https://developer.wordpress.org/rest-api/reference/

 

به‌روز رسانی: 1403/8/2
توی وبسایتم سعی می‌کنم محتوایی که تصور کنم ارزشمنده و به بقیه کمکی می‌کنه رو منتشر کنم. امیدوارم از مطالب وبسایت بتونید استفاده کنید و به کارتون بیاد. در ضمن اگه پروژه‌ی تحت وبی دارید که نیاز به برنامه‌نویسی و اجرا داره، می‌تونید با شماره انتهای صفحه با من تماس بگیرید تا در موردش با هم صحبت کنیم.


دیدگاه کاربران

ثبت دیدگاه

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند*