Table of Contents
สวัสดีท่านผู้อ่านทุกท่านวันนี้เราจะมาสอนการจัดการระบบ Content ของ WordPress ซึ่งสามารถใช้งานในการทำระบบจัดการหลังบ้านใช้ระบบ Content ได้โดยที่เราจะเอาประสิทธิภาพของ WordPress มาทำเป็นระบบจัดการหลังบ้านจะมาดูกันว่าระบบ มันน่าจะใช้ในการประยุกต์ต่างๆได้ในอนาคตแน่นอน
WordPress มี RESTful API มาให้ตั้งแต่เริ่มนะ
หลายๆคนที่ใช้งาน Worpress อยู่อาจจะไม่ได้รู้ว่าประเภทนั้นมีระบบ restful API ให้มาตั้งแต่แรกต้นซึ่งใครที่ยังไม่ปิด อาจจะถูก Web scraping ใครที่ไม่รู้ก็จะสามารถดึงข้อมูลได้ผ่านทาง API โดยตรงนี้ส่วนในเรื่องของ Security นั้นเราจะมาสอนในบทความต่อไปว่าการจัดการเป็น Security ของระบบ API นั้นเป็นอย่างไรซึ่งตรงนี้ควรปิดไว้ดีที่สุดครับ
ทำไมต้องใช้ RESTful ของ WordPress
ระบบ Restful ของ WordPress นั้นมีให้มาตั้งแต่นานแล้วซึ่งทางผู้พัฒนาเองได้จัดสร้างระบบนี้เพื่อให้สามารถทำงานควบคู่กับ Plugin ต่างๆได้เพราะว่าส่วนใหญ่ปลั๊กอินจะเป็นคนดึง API ตัวนี้ไปใช้เพื่อสร้าง Custom Plugin หรือ theme ต่างๆในตัวระบบกำหนด
ชำแหละ 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 ได้ดีกว่าแน่นอน
Have a nice day :)