บทนำสู่ WordPress REST API
เผยแพร่แล้ว: 2022-10-19ในเดือนธันวาคมปี 2016 ด้วยการเปิดตัว WordPress 4.7 เหตุการณ์สำคัญที่ถกเถียงกันมานานก็มาถึง: WordPress REST API ถูกรวมเข้าเป็นส่วนหนึ่งของ WordPress Core อย่างเป็นทางการ
แม้ว่า REST API จะเคยเป็นปลั๊กอินมาก่อนการรวมเข้ากับคอร์อย่างเป็นทางการ แต่การรวมเข้าด้วยกันในภายหลังทำให้เกิดข้อถกเถียงไม่น้อย โดยมีการโต้แย้งทั้งเรื่องการรวมและสำหรับความจำเป็นในการทดสอบเพิ่มเติม
ในท้ายที่สุด REST API ถูกรวมเข้ากับ Core และตอนนี้ให้พลังแก่ Block Editor ตลอดจนการผสานรวมและอินเทอร์เฟซของบุคคลที่สามกับเว็บไซต์ WordPress ทั่วทั้งเว็บ
อย่างไรก็ตาม สำหรับผู้ใช้ WordPress จำนวนมาก นี่เป็นครั้งแรกที่พวกเขาเคยได้ยินเกี่ยวกับ REST API ทุกประเภท นับประสาอะไรกับการผสมผสานอย่างแน่นหนาเข้ากับ WordPress
ดังนั้นในบทความนี้ เราจะมาดูกันว่า REST API คืออะไร WordPress REST API มีลักษณะเฉพาะอย่างไร และตัวอย่างบางส่วนเกี่ยวกับวิธีการทำงานและเทคโนโลยีบางประเภทที่เปิดใช้งานในขณะนี้ซึ่งรวมอยู่ใน WordPress แกน
REST API คืออะไร
คำว่า REST API แท้จริงแล้วเป็นคำย่อ 2 ตัวในคำเดียว และทั้งสองคำมีความสำคัญเมื่อต้องทำความเข้าใจว่า WordPress REST API ทำงานอย่างไรและทำงานอย่างไร
REST คืออะไร?
ส่วนแรก REST ย่อมาจาก REpresentational State Transfer พูดให้ง่ายที่สุดเท่าที่จะเป็นไปได้ นี่คือข้อกำหนดที่กำหนดว่าแหล่งข้อมูลสองแห่งที่แยกกันบนเว็บควรสื่อสารระหว่างกันอย่างไร อินเทอร์เฟซทั้งสองนี้อาจเป็นสองเว็บไซต์ที่แตกต่างกัน เว็บเซิร์ฟเวอร์ แอปพลิเคชันมือถือ และอื่นๆ อีกมากมาย
บริการที่เป็นไปตามข้อกำหนดนี้มักเรียกว่าบริการ RESTful และทำงานเพื่อให้แน่ใจว่าไคลเอนต์ที่ขอข้อมูลไม่จำเป็นต้องรู้อะไรเกี่ยวกับสถานะของเซิร์ฟเวอร์ และวิธีที่ไคลเอ็นต์และเซิร์ฟเวอร์สามารถแยกส่วนและแยกจากกันได้ดีกว่าบริการอื่นๆ วิธีการขนส่งข้อมูลผ่านอินเทอร์เน็ต
โดยพื้นฐานแล้ว หากนักพัฒนารู้ว่าพวกเขากำลังโต้ตอบกับบริการ RESTful พวกเขาสามารถตั้งสมมติฐานบางอย่างเกี่ยวกับรูปแบบคำขอของพวกเขา และข้อมูลประเภทใดที่พวกเขาจะได้รับเป็นการตอบแทน ซึ่งมีประโยชน์มากในการพัฒนาเทคโนโลยีที่เชื่อมต่อถึงกัน
หากคุณต้องการเจาะลึกลงไปถึงสิ่งที่ประกอบกันเป็นบริการ RESTful และวิธีการสร้างคำขอประเภทนี้ ฉันขอแนะนำให้ตรวจสอบการเขียนของ Codecademy ที่ชื่อว่า What is REST?
API คืออะไร?
API ย่อมาจาก Application Programming Interface และตามชื่อที่สื่อถึง จัดเตรียมอินเทอร์เฟซสำหรับลูกค้าและบริการอื่นๆ ทั่วทั้งเว็บเพื่อโต้ตอบกับแอปพลิเคชันเฉพาะ โดยจะระบุปลายทาง ซึ่งโดยทั่วไปคือ URL ที่สามารถส่งข้อมูลได้ ไม่ว่า URL เหล่านี้จะส่งคืนข้อมูลใดๆ หรือสร้างทรัพยากรบนเซิร์ฟเวอร์ และระบุว่าจำเป็นต้องมีการรับรองความถูกต้องประเภทใดเป็นพิเศษในการเข้าถึงปลายทางเหล่านี้หรือไม่
สำหรับบริการยอดนิยมมากมายบนเว็บในปัจจุบัน API มีวิธีอัตโนมัติในการทำสิ่งที่ผู้ใช้สามารถทำได้ด้วยตนเอง โดยอนุญาตให้สคริปต์หรือโค้ดบางส่วนดำเนินการเดียวกันกับผู้ใช้ที่มีอยู่ ตัวอย่างเช่น หากคุณใช้ Reddit และพบว่าตัวเองเขียนความคิดเห็นประเภทเดียวกันในหลายกระทู้ที่คุณเรียกดู คุณสามารถสร้างสคริปต์ที่ค้นหา Reddit สำหรับความคิดเห็นประเภทนั้นๆ และโพสต์การตอบกลับมาตรฐานของคุณโดยอัตโนมัติผ่าน API ของ Reddit
ด้วยการเปิดเผยโครงสร้างพื้นฐานผ่าน API ผู้ใช้ไม่จำเป็นต้องพึ่งพาวิธีการขูดเว็บที่เปราะบางในการทำงานประเภทนี้โดยอัตโนมัติ และ Reddit สามารถติดตามว่าใครกำลังเข้าถึงทรัพยากรของตนผ่าน API ของพวกเขา ความถี่ที่พวกเขาทำเช่นนั้น และควบคุม สำหรับการใช้งานที่อยู่นอกเหนือเงื่อนไขการให้บริการ
เหตุใด WordPress จึงต้องการ REST API
หากคุณเคยส่งคำขอที่คล้ายกับ API ไปยัง WordPress ก่อนที่ REST API จะเป็นส่วนหนึ่งของ Core คุณอาจคุ้นเคยกับแนวคิดของ admin-ajax นี่เป็นวิธีดั้งเดิมในการส่งคำขอเช่นนี้ใน WordPress ซึ่งทุกคำขอจะถูกส่งผ่านไฟล์ admin-ajax.php ตรวจสอบการดำเนินการเฉพาะใดๆ ที่นักพัฒนาของปลั๊กอินหรือธีมที่ใช้งานอยู่ได้ลงทะเบียนไว้ จากนั้นจึงใช้ฟังก์ชันที่ลงทะเบียนเหล่านั้นเพื่อ ทำตามคำขอ
อย่างที่คุณคาดไว้ นั่นหมายถึงนักพัฒนาทุกคนที่ใช้คำขอที่คล้ายกับ API เปิดใช้งานฟังก์ชันนี้โดยเป็นส่วนหนึ่งของปลั๊กอินหรือธีมของตน ซึ่งจะแตกต่างกันเล็กน้อย และใครก็ตามที่ต้องการโต้ตอบกับฟังก์ชันนี้ต้องทำความคุ้นเคยกับลักษณะของปลั๊กอินหรือธีมแต่ละรายการ สร้าง. WordPress REST API ได้รับการแนะนำเพื่อสร้างมาตรฐานให้กับวิธีการร้องขอเหล่านี้ และจัดเตรียมชุดปลายทางที่เข้าถึงได้กว้างมากขึ้น ซึ่งสามารถใช้โต้ตอบกับ WordPress Core ได้
ตัวอย่างคำขอไปยัง WordPress REST API
คู่มือ WordPress REST API รักษารายการทั้งหมดของจุดสิ้นสุดที่ได้รับการสนับสนุนใน WordPress REST API ทันที และแม้ว่าการมีรายชื่อทั้งหมดจะเป็นเรื่องที่ดี แต่ก็อาจดูล้นหลามไปหน่อย มาดูสิ่งที่อาจถือเป็นฟังก์ชันพื้นฐานที่สุดของการโต้ตอบใดๆ ของ API: การดึงข้อมูลทรัพยากรพื้นฐานของ API ในกรณีของ WordPress ทรัพยากรนั้นจะถูกโพสต์

จุดสิ้นสุดของ WordPress REST API ทั้งหมดจะนำหน้าด้วยเส้นทาง URL wp-json
ระหว่างโดเมนรูทและสิ่งที่คู่มือ REST API อ้างถึงเป็น Base Route
ซึ่งหมายความว่าหากเราเข้าถึงปลายทางเพื่อแสดงรายการโพสต์ของไซต์และ URL สำหรับไซต์ของเราคือ example.com
เราจะต้องทำคำขอไปยัง URL https://example.com/wp-json/wp/v2/posts
การส่งคำขอ GET ไม่ว่าจะโดยการโหลด URL นั้นขึ้นในเว็บเบราว์เซอร์ที่คุณชื่นชอบหรือใช้เบราว์เซอร์ API เช่น Postman ควรส่งคืนรายการโพสต์จาก API ให้กับคุณ แม้ว่าอาจไม่ได้อยู่ในรูปแบบที่คุณใช้ก็ตาม ถึง. หากสิ่งที่คุณเห็นคือข้อความยาวเพียงชุดเดียว แสดงว่าคุณกำลังดูรูปแบบข้อมูลที่เรียกว่า JSON หากคุณเข้าถึงตำแหน่งข้อมูล API ผ่านเบราว์เซอร์และต้องการดูข้อมูลนี้ในรูปแบบที่อ่านง่ายขึ้น เราขอแนะนำให้ติดตั้งส่วนขยาย JSON Viewer การดำเนินการนี้จะตรวจหาเอาต์พุตใดๆ ในเบราว์เซอร์ของคุณที่เป็น JSON และจัดรูปแบบเพื่อให้คุณอ่านได้ง่ายขึ้น เมื่อติดตั้งสิ่งนี้แล้ว คุณควรเห็นเอาต์พุตข้อมูลโพสต์จาก WordPress REST API และคุณสร้างคำขอ REST API แรกสำเร็จแล้ว!

WordPress REST API ทำอะไรได้อีก?
นอกจากการดึงรายการโพสต์ล่าสุดบนไซต์ WordPress แล้ว การดูที่ Endpoint Reference คุณจะเห็นว่ามีหลายวิธีที่คุณสามารถโต้ตอบกับ WordPress REST API ได้ หากคุณได้รับการรับรองว่าเป็นผู้ใช้ WordPress คุณสามารถเผยแพร่โพสต์ผ่าน API รับรายการธีมที่มีให้ใช้งานบนไซต์ ดูและแก้ไขการตั้งค่า ตลอดจนฟังก์ชันอื่นๆ มากมายที่มีให้โต้ตอบด้วยตนเองผ่าน wp-admin .
ตัวอย่างการทำงานของ WordPress REST API

การเปิดเผยความสามารถในการโต้ตอบกับ WordPress ผ่าน REST API ได้เปิดโอกาสที่หลากหลายของเว็บไซต์ที่ตอนนี้สามารถใช้ WordPress เป็นแบ็กเอนด์สำหรับการจัดการเนื้อหาได้
TechCrunch : ไม่นานหลังจากที่มีการประกาศ WordPress REST API TechCrunch ประกาศว่าได้สร้างเว็บไซต์ขึ้นใหม่โดยใช้สถาปัตยกรรมแบบไม่มีส่วนหัว ซึ่งหมายความว่าพวกเขาใช้ WordPress ในแบ็กเอนด์เป็นระบบจัดการเนื้อหา ในขณะที่ยังสามารถใช้ “หน้าเดียวได้” สไตล์แอป React” ที่ส่วนหน้า
Block Editor (Gutenberg) : บางทีการใช้ REST API ที่คนส่วนใหญ่ได้รับประโยชน์จาก WordPress Block Editor ตอนนี้ตัวแก้ไขกระแสหลักใน WordPress ฟังก์ชันตัวแก้ไขบล็อกส่วนใหญ่เปิดใช้งานโดยความจริงที่ว่าสามารถโต้ตอบกับตำแหน่งข้อมูล WordPress REST API ได้โดยไม่ต้อง
โครงการชุมชนทุกประเภท : ย้อนกลับไปเมื่อ REST API ได้รับการพิจารณาให้รวมเป็นแกนหลักเป็นครั้งแรก มีการโทรสาธารณะออกไปโดยขอให้ผู้คนพูดคุยเพิ่มเติมว่าพวกเขาใช้ REST API อย่างไร คำตอบนั้นหลากหลายมาก ซึ่งคุณสามารถคาดหวังได้จากชุมชนขนาดใหญ่พอๆ กับ WordPress แต่รวมทุกอย่างตั้งแต่ปลั๊กอินที่มีอินเทอร์เฟซเชิงโต้ตอบมากกว่าที่เคยเป็นไปได้ ไปจนถึงผู้ที่สร้างแอปบนอุปกรณ์เคลื่อนที่สำหรับลูกค้าที่สามารถใช้เนื้อหา WordPress ได้
ห่อ
แม้ว่าคุณจะไม่มีประสบการณ์ใดๆ ในการใช้ API แต่คุณก็อาจเคยใช้บางอย่างในอาชีพของคุณที่อาศัย WordPress REST API ในการทำงาน เนื่องจากอินเทอร์เฟซยังคงเป็นไดนามิกมากขึ้นและเว็บไซต์เริ่มมีการดำเนินการที่ไม่ต้องการการโหลดหน้าเว็บมากขึ้น
ตอนนี้คุณรู้แล้วว่า WordPress REST API คืออะไร คุณอาจกำลังคิดถึงบางสิ่งที่คุณสามารถสร้างได้ด้วยมัน! REST API สามารถเป็นเครื่องมือที่มีประสิทธิภาพในกล่องเครื่องมือของคุณเพื่อสร้างธีมและปลั๊กอิน WordPress ที่ดียิ่งขึ้น
หากคุณต้องการคำชี้แจงเพิ่มเติมหรือตัวอย่างที่เป็นไปได้ ลองดูที่เอกสารและเริ่มทันที!