สร้าง RESTful API จัดการระบบ Contents ด้วย WordPress

By BomBay PobThorn
1 min read

Table of Contents

สวัสดีท่านผู้อ่านทุกท่านวันนี้เราจะมาสอนการจัดการระบบ Content ของ WordPress ซึ่งสามารถใช้งานในการทำระบบจัดการหลังบ้านใช้ระบบ Content ได้โดยที่เราจะเอาประสิทธิภาพของ WordPress มาทำเป็นระบบจัดการหลังบ้านจะมาดูกันว่าระบบ มันน่าจะใช้ในการประยุกต์ต่างๆได้ในอนาคตแน่นอน

WordPress มี RESTful API มาให้ตั้งแต่เริ่มนะ

หลายๆคนที่ใช้งาน Worpress อยู่อาจจะไม่ได้รู้ว่าประเภทนั้นมีระบบ restful API ให้มาตั้งแต่แรกต้นซึ่งใครที่ยังไม่ปิด อาจจะถูก Web scraping ใครที่ไม่รู้ก็จะสามารถดึงข้อมูลได้ผ่านทาง API โดยตรงนี้ส่วนในเรื่องของ Security นั้นเราจะมาสอนในบทความต่อไปว่าการจัดการเป็น Security ของระบบ API นั้นเป็นอย่างไรซึ่งตรงนี้ควรปิดไว้ดีที่สุดครับ

Photo by Justin Morgan on Unsplash

ทำไมต้องใช้ RESTful ของ WordPress

ระบบ Restful ของ WordPress นั้นมีให้มาตั้งแต่นานแล้วซึ่งทางผู้พัฒนาเองได้จัดสร้างระบบนี้เพื่อให้สามารถทำงานควบคู่กับ Plugin ต่างๆได้เพราะว่าส่วนใหญ่ปลั๊กอินจะเป็นคนดึง API ตัวนี้ไปใช้เพื่อสร้าง Custom Plugin หรือ theme ต่างๆในตัวระบบกำหนด

https://www.seobility.net/en/wiki/images/f/f1/Rest-API.png

ชำแหละ endpoint

https://<<ชื่อเว็บ>>/wp-json/wp/v2/posts (method GET)

เพียงเท่านี้ก็จะสามารถดึงบทความของตัว WordPress ออกมาเป็น API ได้เรียบร้อยแล้ว

ทดสอบดึงแยก Category

สมมุติว่าเราอยากจะดึงบทความแยกหมวดหมู่ก็สามารถทำได้ซึ่งทางผู้พัฒนาได้เขียนรายละเอียดทั้งหมดลงใน document เรียบร้อยแล้วส่วนถ้าในการดึงจะเป็นประมาณนี้ครับ ซึ่งหลักๆเราต้องรู้ชื่อ ID ของหมวดหมู่ของเราก่อนเราสามารถดูหมวดหมู่ของเราได้ผ่านทาง API get เลย ในตัวอย่างหมวดหมู่ของผมเป็นหมวดหมู่ที่แตกนะ

ให้เราใช้ Endpoint ตามนี้

https://<<ชื่อเว็บ>>/wp-json/wp/v2/posts?categories=<<id ของ Categories>>

ทดสอบใช้งานจริง ต้องดึง feature image มาด้วย

ถ้าเราใช้ API get แบบปกติมันจะเป็นการดึงบทความที่อยู่ใน table wp_post ของ WordPress มาทั้งหมดเราสามารถ custom field ได้เพื่อความรวดเร็วในการดึง API แต่ภาพที่ใช้เป็นภาพ featured image นั้นภาพนี้ตามโครงสร้างของ WordPress จะไม่ได้เก็บด้วยกันดังนั้นเราจึงต้องใส่ตัวแปรเพื่อเข้าไปเพื่อเรียก feature image มาด้วยให้ใส่ endpoint ตามนี้

https://<<ชื่อเว็บ>>/wp-json/wp/v2/posts?_embedded

แล้วผลลัพธ์จะเป็นแบบนี้ไปตายไปไปเรียก feature image จากตรงนี้ได้เลยจากตัวแปร wp:featuremeida ซึ่งจะมีหลายขนาดให้เราเลือก

ที่เหลือก็ตาคุณแล้ว นำไปประยุกต์ได้เลย

ทั้งหมดนี้เป็น basic พื้นฐานในการดึง API ของ wordpress และยังมีเทคนิคอื่นๆอีกมากมายเช่นการทำเพจที่ pagination การทํา authentication และการอินทิเกรตเข้าระบบ Reactjs และ next.js ต่อมาก็ตาคุณแล้วว่าจะเปิดเอาไปประยุกต์ใช้ยังไงให้เกิดประโยชน์มากที่สุดเพราะว่าการได้ใช้ระบบ CMS wordpress สามารถดึงได้ถึง yoast หรือ rank math ดังนั้นจะจัดการ seo ได้ดีกว่าแน่นอน

Photo by Stephen Phillips - Hostreviews.co.uk on Unsplash

Have a nice day :)

Ref.
1.https://developer.wordpress.org/rest-api/

Tagged in:

Last Update: สิงหาคม 01, 2024

About the Author