WordPress REST API: คุณสมบัติ CMS รุ่นต่อไป

เผยแพร่แล้ว: 2022-03-11

มากกว่าหนึ่งในสี่ของเว็บทำงานบน WordPress เป็นความสำเร็จที่ค่อนข้างโดดเด่น เมื่อพิจารณาว่ามีมานานกว่าทศวรรษ ซึ่งทำให้ค่อนข้างเก่าในช่วงปีแห่งเทคโนโลยี

ซอสลับของ WordPress คืออะไร? ง่าย – เป็นวิธีที่ง่ายที่สุดแต่ขยายได้มากที่สุดในการจัดการเนื้อหาของคุณ อย่างไรก็ตาม ในขณะที่ WordPress ดูเหมือนจะล้าหลัง

เนื่องจากเว็บพึ่งพา JavaScript มากขึ้นในการสร้างประสบการณ์เชิงโต้ตอบที่สมจริง จึงเห็นได้ชัดเจนว่า WordPress จำเป็นต้องนำเสนอวิธีการใหม่ๆ สำหรับผู้ใช้และนักพัฒนาในการโต้ตอบกับเนื้อหาของพวกเขา

ในขณะที่ WordPress ถูกสร้างขึ้น – และจะถูกสร้างขึ้นต่อไป – PHP, WP REST API เป็นความพยายามที่จะสร้างสะพานเชื่อมระหว่างมรดกของแกน PHP WordPress กับศักยภาพและพลังของเว็บแอปพลิเคชัน JavaScript เช่นเดียวกับมือถือดั้งเดิม และแอพพลิเคชั่นเดสก์ท็อป

WordPress REST API นำเนื้อหาของเว็บไซต์ WordPress ใด ๆ มาไว้ใน API ที่ใช้งานได้ง่าย ทำให้ WordPress ทำหน้าที่เป็นระบบจัดเก็บและดึงข้อมูลสำหรับการเผยแพร่เนื้อหาบนเว็บ

นำ REST API มาสู่ WordPress

หากคุณคิดว่า WP REST API โผล่ขึ้นมาจากที่ไหนเลย คุณคิดผิด

การเพิ่มคุณสมบัติใหม่อย่างสมบูรณ์ให้กับ WordPress นั้นไม่ใช่เรื่องง่าย โดยธรรมชาติของการเป็นซอฟต์แวร์โอเพนซอร์ซ การพัฒนา WordPress นั้นขึ้นอยู่กับชุมชนในวงกว้างเพื่อให้มีความคืบหน้า

การพัฒนาสำหรับ API เริ่มต้นขึ้นเมื่อไม่กี่ปีที่ผ่านมาในฐานะปลั๊กอินคุณลักษณะที่แยกจากกัน ซึ่งช่วยให้นักพัฒนาสามารถทดลองและมีส่วนร่วมในโครงการในสภาพแวดล้อมที่มีการควบคุม

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

WordPress 4.4 ชื่อรหัส “Clifford” นำโครงสร้างพื้นฐานเริ่มต้นของโครงการมาสู่แกนหลักของ WordPress ในขณะที่ปลายทางไม่ปรากฏจนกว่า WordPress 4.7, “Vaughan”

โดยพื้นฐานแล้วสิ่งนี้ทำให้นักพัฒนามีเวลาทดสอบการทำงานที่ขับเคลื่อน API โดยไม่ต้องเปิดเผยข้อมูลจริง ๆ

ในตอนนี้ ปลายทางของเนื้อหาเริ่มต้นได้ถูกรวมเข้ากับ WordPress เวอร์ชันปัจจุบันทั้งหมดแล้ว นักพัฒนาปลั๊กอินและผู้สร้างธีมสามารถทดลองด้วยวิธีใหม่ๆ ที่น่าตื่นเต้นในการดึง ดู และเปลี่ยนแปลงข้อมูลนอกประสบการณ์ wp-admin แบบเดิม

การแยกคำย่อ: จาก HTTP เป็น JSON REST API

เพื่อให้เข้าใจถึงความสำคัญของ WP REST API การทำความเข้าใจรากฐานของวิธีที่เราแบ่งปันข้อมูลทางออนไลน์และทิศทางของอินเทอร์เน็ตอาจช่วยให้เข้าใจได้

HTTP เป็นพื้นฐานสำหรับการเข้าชมเว็บส่วนใหญ่ที่เราจัดการทุกวัน หากคุณพิมพ์ URL ลงในเบราว์เซอร์ แสดงว่าคุณกำลัง ส่งคำขอ เซิร์ฟเวอร์ที่เกี่ยวข้องจะได้รับคำขอของคุณและ ตอบกลับ ธุรกรรมนี้เป็นพื้นฐานสำหรับเกือบทุกอย่างที่เราทำออนไลน์ เบราว์เซอร์ส่งคำขอและเซิร์ฟเวอร์ให้การตอบกลับ

ประเภทของคำขอที่เราทำอาจส่งผลต่อประเภทการตอบกลับที่เราได้รับ ส่วนใหญ่แล้ว เรากำลังส่งคำขอ GET แบบง่ายๆ: "Ok Google ขอข้อมูลหน้า Landing Page ของคุณหน่อย" Google ให้คำตอบ

เนื่องจากเว็บมีการโต้ตอบกันมากขึ้น เราจึงเริ่มใช้ประโยชน์จากคำขอ HTTP อื่นๆ รวมถึง PUT , POST และ DELETE

ตัวอย่างเช่น เรากรอกแถบค้นหาบนเว็บไซต์: "Ok Google POST ที่อยู่อีเมลและรหัสผ่านของฉันลงในหน้าเข้าสู่ระบบของคุณ" Google เริ่มเซสชันใหม่สำหรับเราและให้คำตอบที่ต่างออกไป

โปรโตคอลนี้เป็นพื้นฐานพื้นฐานที่เราสร้างไซต์ WordPress ของเรา

เราใช้แบบฟอร์มและ PHP เพื่อ GET และ POST ข้อมูลลงในฐานข้อมูลของเรา ตรงกันข้ามกับความคิดเห็นที่ได้รับความนิยม รากฐานพื้นฐานของ WordPress นี้จะไม่เปลี่ยนแปลงในเร็วๆ นี้ สิ่งที่ WordPress กำลังทำอยู่ตอนนี้คือการให้นักพัฒนามีวิธีใหม่ในการโต้ตอบกับข้อมูล WordPress ของพวกเขาผ่าน RESTful API

การโอนสถานะตัวแทน (REST)

นักพัฒนา WordPress ควรทำความคุ้นเคยกับ API โดยทั่วไป เช่น Shortcode API และ Options API API เหล่านี้กำหนดฟังก์ชันการทำงานสำหรับส่วนประกอบที่ประกอบด้วย WordPress ดังนั้นผู้เขียนธีมและปลั๊กอินจึงสามารถขยายความสามารถหลักของ WordPress ได้ อย่างไรก็ตาม WP REST API นั้นแตกต่างกันเล็กน้อย

REST หรือ RESTful API เกี่ยวกับการเปิดเผยข้อมูลของคุณไปยังคำขอ HTTP จากแหล่งภายนอกอย่างปลอดภัย นอกจากนี้ยังเกี่ยวกับการตั้งค่าสถาปัตยกรรมทั่วไปและชุดโปรโตคอลสำหรับการตอบสนองต่อคำขอเหล่านั้น แม้ว่าจะมีแนวคิดและหลักการขั้นสูงที่อยู่เบื้องหลังบริการประเภทนี้ แต่ก็อยู่นอกเหนือขอบเขตของบทความนี้

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

แทนที่จะคิดว่าข้อมูลของคุณเป็นเพียงแถวในฐานข้อมูล ตอนนี้คุณสามารถเข้าถึงข้อมูลแบบอนุกรมในรูปแบบของ JSON ได้แล้ว

JSON - เกิดอะไรขึ้นกับ XML

สัตวแพทย์ WordPress มีประสบการณ์มากมายกับ XML ซึ่งเป็นรูปแบบทั่วไปสำหรับการแชร์เนื้อหาระหว่างไซต์

เช่นเดียวกับ XML JSON เป็นเพียงกลไกที่ช่วยให้เราถ่ายโอนข้อมูลได้อย่างง่ายดายโดยการรวมเข้ากับรูปแบบเฉพาะ จริงๆ แล้ว JSON เป็นสตริง ซึ่งเป็นการแสดงข้อความของออบเจกต์ JavaScript โดยจัดเก็บข้อมูลของคุณไว้ในชุดของคู่คีย์-ค่า การแสดง JSON ทั่วไปของโพสต์ WordPress อาจมีลักษณะดังนี้:

 { “id”: 1, “title”: { “rendered”: “Hello World” }, “content”: { “rendered”: “Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!” } }

(คุณสามารถใช้เครื่องมือจัดรูปแบบ JSON เพื่อปรับแต่งการตอบสนอง JSON หากจำเป็น)

การตอบสนอง JSON แบบเต็มผ่าน WP REST API จะรวมข้อมูลเพิ่มเติมเกี่ยวกับโพสต์ รวมถึงข้อมูลเมตา โดยการรวมข้อมูลนี้ไว้ในรูปแบบ JSON อย่างสะดวกสบาย คุณสามารถโต้ตอบกับเนื้อหา WordPress ของคุณในรูปแบบใหม่และน่าตื่นเต้น

ไม่ใช่เรื่องบังเอิญที่ JSON จับคู่กับ JavaScript ได้ดีที่สุด เมื่อนักพัฒนา WordPress จำนวนมากขึ้นเริ่ม "เรียนรู้ JavaScript อย่างลึกซึ้ง" เราจะเห็นการใช้งานขั้นสูงของ WordPress เป็นแบ็กเอนด์

เราค้นหาข้อมูลได้อย่างไร: ตามเส้นทางไปยังปลายทาง

การเข้าถึงข้อมูลไซต์ทั้งหมดของคุณผ่าน REST API นั้นง่ายพอๆ กับการเขียน URL

สำหรับไซต์ WordPress ที่ทำงานอย่างน้อยเวอร์ชัน 4.7 ให้เพิ่มสตริงต่อไปนี้ต่อท้าย url ของไซต์ของคุณ: /wp-json/wp/v2 (เช่น http://example.com/wp-json/wp/v2 ) ใส่ URL นั้นในเบราว์เซอร์ของคุณและดูว่าเกิดอะไรขึ้น

ผลลัพธ์อาจดูเหมือนข้อมูลจำนวนมาก เว้นแต่คุณจะติดตั้งส่วนขยายเบราว์เซอร์ที่ล้าง JSON ข้อมูลที่ยุ่งเหยิงนั้นคือเนื้อหาและข้อมูลเมตาของไซต์ WordPress เฉพาะของคุณในรูปแบบ JSON

โดยการโหลดเนื้อหานั้น คุณเพิ่งกำหนด เส้นทาง และขอให้เบราว์เซอร์ของคุณ GET ให้คุณ

เส้นทางคือ URL ที่แมปกับวิธีการเฉพาะ คอร์ของ WordPress อ่านเส้นทางนั้น โดยที่เครื่องหมายสแลชทุกตัว '/' แทน พาธ เฉพาะ หรือพารามิเตอร์ ที่ควรปฏิบัติตาม

เส้นทางนี้จะสิ้นสุดลงที่ จุดสิ้นสุด ซึ่งการทำงานในส่วนลึกของแกนกลางของ WordPress สามารถตัดสินใจได้ว่าจะให้ข้อมูลใดและจะทำอย่างไรกับข้อมูลใด ๆ ที่ให้มา

ตัวอย่างปลายทางอาจเป็น '/wp-json/wp/v2/posts/1' โดยเราได้เพิ่มพาธ '/posts' และ '/1' แล้ว ตำแหน่งข้อมูลเฉพาะนี้บอกให้ไซต์ของเราตรวจสอบข้อมูล ดึงโพสต์ของเรา และดึงโพสต์ด้วย ID 1

สิ่งที่ทำให้ REST API มีประโยชน์มากคือสามารถขยายได้ หมายความว่าคุณสามารถนำข้อมูลใดๆ ภายในเว็บไซต์ของคุณมาเพิ่มเป็นปลายทางได้ ฟังก์ชันหลักของ WordPress ส่วนใหญ่ในปัจจุบันได้รับการสนับสนุน (หรือเร็วๆ นี้จะได้รับการสนับสนุน)

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

หากคุณอยากรู้เกี่ยวกับปลายทางที่มีอยู่ในไซต์ WordPress ของคุณ แอปพลิเคชันเบราว์เซอร์ เช่น Postman มี GUI สำหรับการสำรวจ API โดยเฉพาะ

ส่วนหัวและการตรวจสอบสิทธิ์

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

หากคุณเข้าสู่ “เครื่องมือสำหรับนักพัฒนา” ของเบราว์เซอร์ คุณสามารถตรวจสอบส่วนหัว HTTP สำหรับเนื้อหาใดๆ ที่โหลดลงในหน้าต่างเบราว์เซอร์ได้ รวมถึงไฟล์ HTML, สไตล์ชีต CSS, รูปภาพ และอื่นๆ

ส่วนหัวแรกที่ต้องพิจารณาคือ Request Method ซึ่งสอดคล้องโดยตรงกับคำขอ HTTP ที่เราได้เรียนรู้ก่อนหน้านี้ ที่นี่คุณมักจะเห็น GET เป็นวิธีการขอ หากเราเพียงแค่ดูหน้าเว็บ

แอปพลิเคชันที่เรียก REST API ของคุณอาจเลือกที่จะเปลี่ยนวิธีการขอของส่วนหัวเป็น POST

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

อย่างไรก็ตาม ไม่ต้องกังวล เพราะหากไม่ได้รวมส่วนหัวที่ให้ข้อมูลรับรองที่เหมาะสมสำหรับการ ตรวจสอบสิทธิ์ เว็บไซต์ของคุณก็จะปฏิเสธ

หมายเหตุ: วิธีการตรวจสอบสิทธิ์การเรียกใช้ REST API ของคุณยังไม่สิ้นสุด ซึ่งทำให้การรับรองความถูกต้องเป็นอุปสรรคใหญ่ที่สุดในการเข้าร่วมสำหรับนักพัฒนาที่ต้องการทำงานกับ REST API เพื่อเพิ่มหรือเปลี่ยนแปลงข้อมูล

ในตอนนี้ มีตัวเลือกต่างๆ รวมถึงปลั๊กอินจากนักพัฒนาที่อยู่เบื้องหลัง REST API เนื่องจากขั้นตอนมาตรฐานโดยรอบการรับรองความถูกต้องเข้าสู่แกนหลัก อุปสรรคสุดท้ายจะมีความชัดเจนสำหรับการใช้ WP REST API อย่างแพร่หลาย

แอปพลิเคชันตัวอย่าง WP REST API

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

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

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

สุดท้าย เราจะใส่ลิงก์เพื่ออ่านบทความฉบับเต็มในเว็บไซต์ต้นฉบับด้วย

ระยะที่ 1: รับโพสต์ล่าสุด

เราจะเริ่มต้นด้วยการตั้งค่าอินสแตนซ์ Vue อย่างรวดเร็วและติดตั้งเข้ากับองค์ประกอบ นอกจากนี้ เราจะรวม Bootstrap ไว้ด้วย เพื่อให้เราสามารถมีเส้นตารางและการจัดรูปแบบพื้นฐานในองค์ประกอบแบบฟอร์มที่เราจะเพิ่มในภายหลัง

เมื่อเรากำหนดข้อมูล เราจะต้องการสถานที่สำหรับเก็บชื่อของไซต์ (ซึ่งไม่รวมอยู่ในการตอบกลับเริ่มต้น) URL และโพสต์เมื่อเราได้รับ นี่คือตัวอย่าง:

 { “name”: “wordpress.org”, “url”: “https://wordpress.org/news/wp-json/wp/v2/posts?per_page=3”, “posts”: [] }

คุณจะสังเกตเห็นว่าเราได้รวมพารามิเตอร์แรกของเราไว้ที่ส่วนท้ายของ URL, per_page โดยทั่วไป WP REST API จะแบ่งหน้าผลลัพธ์ตามกฎเดียวกันกับที่จะแบ่งหน้า WP_Query loop ปกติ เราจะจำกัดการสืบค้นข้อมูลของเราไว้ที่สามโพสต์แรก

ต่อไป เราจะกำหนดวิธีการ loadPosts() ซึ่งจะวนรอบรายการแหล่งที่มา รับผลลัพธ์ด้วย vue-resource และเติมอาร์เรย์ posts ว่างของแต่ละแหล่งที่มาด้วยผลลัพธ์

 loadPosts : function(){ var self = this; self.sources.forEach(function(source, index){ self.$delete(source, 'posts'); // Get API with vue-resource self.$http.get(source.url).then(function(response) { self.$set(source, 'posts', response.data); }, function(response) { console.log('Error'); }); }); }

นอกจากนี้ เราจะรวมการเรียกเริ่มต้นไปยัง loadPosts() เมื่อติดตั้งอินสแตนซ์ Vue สำเร็จแล้ว

 mounted : function(){ this.$nextTick(function(){ // Load posts on initial page load this.loadPosts(); }); }

การเก็บ loadPosts() เป็นวิธีการแยกต่างหากจะมีประโยชน์ในอนาคตเมื่อเราเริ่มเรียกใช้ API หลายครั้ง ใน HTML ของเรา เราจะใช้คำสั่งการแสดงผลรายการอย่างง่ายของ Vue และไวยากรณ์เทมเพลตเพื่อส่งออกโพสต์ทั้งหมดของเรา

ดูปากกาฝังตัวสำหรับการสาธิตการทำงาน:

ดูตัวอย่างการค้นหา Pen WP REST API (ระยะที่หนึ่ง) โดย Brian Coords (@bacoords) บน CodePen

ระยะที่ 2: การกรองผลลัพธ์

มาเพิ่มแถบด้านข้างและสร้างตัวกรองเพื่อแสดง/ซ่อนแหล่งที่มาต่างๆ ในการทำเช่นนี้ เราได้เพิ่มคุณสมบัติใหม่ให้กับอ็อบเจกต์ sources ซึ่งเป็นบูลีนที่เราจะตั้ง ชื่อว่า .

ขณะที่เรากำลังเพิ่มตัวกรอง ให้สร้างตัวกรอง Vue เพื่อช่วยให้เราแสดงวันที่ได้อย่างถูกต้องเช่นกัน WordPress เก็บวันที่และเวลาของโพสต์เป็นการประทับเวลา Unix

เราจะใช้ห้องสมุดบุคคลที่สาม Moment.js เพื่อแปลงวันที่ให้อยู่ในรูปแบบที่อ่านง่ายขึ้น

 filters: { // Using Moment.js to convert post date to a readable format prettyDate: function(value){ // Return if date is empty if(!value) return ''; // Convert date to Moment.js var date = moment.utc(value); // Return formatted date return date.format("MMM DD, YYYY,"); } },

ดูปากกาฝังตัวสำหรับการสาธิตการทำงาน:

ดูตัวอย่างการค้นหา Pen WP REST API (ระยะที่หนึ่ง) โดย Brian Coords (@bacoords) บน CodePen

ระยะสุดท้าย: คำค้นหา

เราจะเพิ่มพารามิเตอร์ใหม่ในคำขอ API ของเราที่นี่ เราได้เพิ่มพารามิเตอร์ per_page=3 เพื่อจำกัดจำนวนผลลัพธ์ที่เราได้รับจากแต่ละไซต์ หากมีสิ่งใดเขียนอยู่ในแถบค้นหา เราจะเพิ่มเป็นพารามิเตอร์เพิ่มเติม

ซึ่งจะทำให้เราใช้ฟังก์ชันการค้นหาในตัวของแต่ละไซต์ได้ เหมือนกับว่าเรากำลังค้นหาแถบค้นหาบนเว็บไซต์นั้น

เราจะเพิ่มแถบค้นหาและผูกเข้ากับตัวแปรโดยใช้คำสั่ง v-model ของ Vue

แทนที่จะเรียก API ทั้งหมดทันที เมื่อผู้ใช้เริ่มพิมพ์ เราจะเพิ่มปุ่มและผูกเหตุการณ์เข้ากับการส่งแบบฟอร์ม จากนั้นเราจะเพิ่มวิธีการในอินสแตนซ์ Vue ของเรา ซึ่งจะเพิ่มพารามิเตอร์การค้นหา (แน่นอนว่าเข้ารหัส URL) ให้กับ URL

 generateUrl : function(source){ var self = this; // Add search parameters. if(self.searchQuery){ return source.url + '&search=' + encodeURI(self.searchQuery); }else{ return source.url; } }

ดูปากกาฝังตัวสำหรับการสาธิตการทำงาน:

ดูตัวอย่างการค้นหา Pen WP REST API (ระยะที่หนึ่ง) โดย Brian Coords (@bacoords) บน CodePen

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

เราสามารถเปลี่ยนการสาธิตนี้เป็นปลั๊กอิน WordPress ได้อย่างง่ายดาย โดยแสดงบนแดชบอร์ดของ WordPress ตอนนี้เราได้รวมความสามารถในการค้นหาความช่วยเหลือจากไซต์สอนการออกแบบเว็บไซต์และ WordPress ชั้นนำจากเว็บไซต์ของเราเอง

ศักยภาพในอนาคตของ REST API

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

ในขณะที่ผู้เชี่ยวชาญในอุตสาหกรรมบางคนได้แสดงความกังวลเกี่ยวกับความเป็นไปได้ที่เนื้อหาของคุณจะถูก 'คัดลอก' และแสดงที่อื่น สิ่งสำคัญคือต้องจำไว้ว่าฟังก์ชันนี้คล้ายกับฟีด RSS และผู้ดูแลไซต์จะต้องควบคุมได้ชัดเจนว่าข้อมูลคืออะไรและเป็นอย่างไร ไม่ใช่สาธารณะ

เนื่องจาก WP REST API ถูกฝังแน่นมากขึ้นในโครงสร้างของ WordPress เราจะเริ่มเห็นผลของมัน โดยที่ไม่รู้ตัว ตัวอย่างมีตั้งแต่ธรรมดา (Chris Coyier's Quotes on Design) ไปจนถึงแอปพลิเคชันหน้าเดียวที่ซับซ้อน (ไซต์ Guggenheim)

อีกกรณีการใช้งานยอดนิยมสำหรับ WP REST API คือการพัฒนาแอปพลิเคชันมือถือ

เนื่องจากเข้าถึงเนื้อหาได้ผ่าน REST API นักพัฒนาจึงสามารถสร้างแอปที่มาพร้อมเครื่องสำหรับ iOS และ Android และไม่ต้องสร้างแหล่งข้อมูลที่ซ้ำกัน

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

อย่างไรก็ตาม แอปพลิเคชันที่ต้องเผชิญกับผู้เยี่ยมชมเหล่านี้ของ REST API เป็นเพียงจุดเริ่มต้นเท่านั้น เนื่องจากความหมายที่แท้จริงนั้นลึกซึ้งกว่ามาก เป้าหมายหนึ่งสำหรับทีมพัฒนาหลักคือการเริ่มใช้งานผ่านอินเทอร์เฟซ wp-admin

ด้วยการอัปเดต WordPress ในอนาคต เราจะเริ่มเห็น admin-ajax แทนที่ API แทน โดยหวังว่าจะเพิ่มความเร็วของฟังก์ชันพื้นฐาน เช่น เมนูแก้ไขหรือเผยแพร่โพสต์

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

แม้ว่า WP REST API จะมีประโยชน์อย่างมากตามที่เป็นอยู่ แต่ก็ยังมีอะไรอีกมากที่ต้องทำ API ไม่สมบูรณ์ ยังมีฟีเจอร์และปลายทางที่จะเพิ่มอีกมากมาย

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

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