ช่วงที่เริ่มลงลึกทางเทคนิค: วิธีที่เราทำให้ Shortcode Mapping ในเวอร์ชันของเราเกิดขึ้นจริง

เขียนโดย

ใน

,

How-We-Made-Our-Version-Of-Shortcode-Mapping-Happen-2ใน บทความก่อนหน้านี้ เราได้พูดคุยเกี่ยวกับพื้นฐานของการทำแผนผังชอร์ตโค้ดและวิธีที่คุณจะได้รับประโยชน์อันยอดเยี่ยมจากฟีเจอร์นี้ เราได้ตัดสินใจแยกบทความที่นำเสนอการทำ Shortcode Mapping ในเวอร์ชันของ Page Builder Sandwich ออกมา เนื่องจากเนื้อหาถัดไปนี้อาจมีเนื้อหาเชิงเทคนิคมากขึ้นเล็กน้อย

ด้านล่างนี้คือคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับการทำงานภายในของฟีเจอร์การทำแผนผังชอร์ตโค้ดของเรา และวิธีที่เราทำให้มันใช้งานได้จริง

กระบวนการอัตโนมัติ

เพื่อตัดสินใจว่าจะรวมปลั๊กอินใดไว้ในตัวทำแผนผังชอร์ตโค้ดบ้าง เราได้สร้างสคริปต์อัตโนมัติที่จะรวบรวมปลั๊กอินยอดนิยมในไดเรกทอรีปลั๊กอินของ WordPress ตามเกณฑ์ต่อไปนี้:

  • อยู่ในกลุ่มปลั๊กอินยอดนิยม มีคะแนนสูงสุด และได้รับการอัปเดต 1,000 อันดับแรก โดยมีการติดตั้งที่ใช้งานอยู่อย่างน้อย 4,000 ครั้ง,
  • มีการติดตั้งที่ใช้งานอยู่อย่างน้อย 4,000 ครั้ง,
  • มีคะแนนรีวิวอย่างน้อย 20 รายการ และ;
  • มีคะแนนเฉลี่ยอย่างน้อย 3 ดาว

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

Some of the most popular plugins detected for shortcode mapping.
ปลั๊กอินยอดนิยมบางส่วนที่ตรวจพบสำหรับการทำแผนผังชอร์ตโค้ด

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

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

กระบวนการด้วยตนเอง

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

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

Bootstrap & AngularJS interface for fixing up all the mapped shortcodes.
อินเทอร์เฟซ Bootstrap & AngularJS สำหรับจัดการชอร์ตโค้ดที่ทำแผนผังไว้ทั้งหมด

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

แม้ว่าขั้นตอนนี้จะต้องใช้ความพยายามและความอุตสาหะอย่างยิ่ง แต่ก็ยังมีข้อดีบางประการของการมีกระบวนการอัตโนมัติ:

  • จากสถิติเบื้องต้นของเรา มีเพียงประมาณ 1 ใน 2 ของปลั๊กอินเท่านั้นที่มีชอร์ตโค้ด
  • ครึ่งหนึ่งของชอร์ตโค้ดที่ตรวจพบไม่มีแอตทริบิวต์ (แต่อาจมีส่วนหนึ่งที่เป็นผลบวกลวง)
  • จากการเลือกเฉพาะปลั๊กอินคุณภาพดี ปลั๊กอินเหล่านั้นจึงมักจะมีเอกสารคู่มือชอร์ตโค้ดให้อย่างแน่นอน

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

การเรียกใช้ REST API

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

อนาคต: Crowdsourcing

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

คุณอาจกำลังคิดว่า “ทำไมฉันต้องช่วยทำแผนผังชอร์ตโค้ดด้วยล่ะ? ฉันจะได้ประโยชน์อะไรจากสิ่งนี้?” เรามีเหตุผลบางประการที่ทำให้ผู้คนอาจต้องการเข้ามาช่วย:

  1. หากคุณสร้างปลั๊กอินขึ้นมา และเรายังตรวจไม่พบเนื่องจากเกณฑ์ข้างต้น (และปลั๊กอินนั้นอยู่ในไดเรกทอรีปลั๊กอินของ WordPress) คุณก็สามารถเพิ่มแผนผังด้วยตนเองได้ ซึ่งจะทำให้ปลั๊กอินของคุณได้รับการรองรับอย่างเต็มรูปแบบโดย PBS!
  2. เนื่องจากในกระบวนการอัตโนมัติเราจะจัดการเฉพาะรายการที่อยู่ในไดเรกทอรีปลั๊กอินของ WordPress เท่านั้น ผู้พัฒนาปลั๊กอินและธีมระดับพรีเมียมจึงจะไม่ถูกรวมเข้ามาด้วย ดังนั้นหากคุณมีปลั๊กอินหรือธีมเหล่านี้ คุณก็สามารถเพิ่มแผนผังชอร์ตโค้ดของคุณสำหรับรายการเหล่านั้นได้เช่นกัน
  3. และสำหรับผู้ที่ไม่ได้เป็นผู้สร้างปลั๊กอิน เราสามารถมอบรางวัลให้กับผู้ที่ช่วยเหลือได้ เพื่อให้การทำแผนผังชอร์ตโค้ดเป็นกิจกรรมที่น่าสนใจ เราสามารถตอบแทนผู้ช่วยที่ยินดีร่วมมือด้วยสิทธิ์การใช้งานแบบส่วนบุคคล (Personal license) หรือการอัปเกรดเป็นสิทธิ์การใช้งานระดับพรีเมียมของ PBS!

สมัครรับจดหมายข่าวของเรา

ฟังก์ชันการทำแผนผังชอร์ตโค้ดจะมีให้สำหรับลูกค้าของเราในเบื้องต้นในวันที่ 12 สิงหาคม  15 สิงหาคม  16 สิงหาคม 2016 ชอร์ตโค้ดอาจจะยังไม่ได้รับการทำแผนผังทั้งหมดภายในเวลานี้ (เราประมาณการว่าอาจจะอยู่ที่ 100 ปลั๊กอิน) แต่การทำแผนผังจะดำเนินไปอย่างต่อเนื่อง และลูกค้าจะได้รับทันทีที่มีการเปิดตัวรายการใหม่ ๆ

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