การพัฒนา Gutenberg พร้อมตัวอย่าง: Google Maps (ตอนที่ 1)

เผยแพร่แล้ว: 2019-04-04

เมื่อไม่กี่วันก่อน เราได้เผยแพร่ปลั๊กอินใหม่ในไดเร็กทอรีปลั๊กอิน WordPress.org: Nelio Maps ตามชื่อที่ปรากฏ มันเป็น ปลั๊กอินแผนที่ ที่เพิ่มบล็อกประเภทใหม่ในตัวแก้ไข WordPress ด้วยสิ่งนี้ เราสามารถเพิ่มแผนที่ Google บนเพจหรือโพสต์ของเราได้อย่างง่ายดาย นี่คือลักษณะ:

ภาพหน้าจอของ Nelio Maps
ปลั๊กอิน Nelio Maps ให้คุณแทรกและปรับแต่ง Google Map ให้กับเพจและโพสต์ของคุณ

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

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

กำหนดโครงการและปลั๊กอินที่เราต้องการ

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

นี่คือข้อกำหนดของโครงการ:

  1. ควรจะสามารถ เพิ่มแผนที่ (หรือมากกว่าหนึ่ง) ในหน้าหรือโพสต์ของพวกเขา
  2. ควรตั้ง ศูนย์กลางของแผนที่ ไว้ที่ใดก็ได้โดย
    • หรือลากแผนที่ด้วยเมาส์
    • หรือค้นหาสถานที่ในช่องค้นหา
  3. ขนาดของแผนที่ควรปรับได้ ทั้งความกว้างและความสูง
  4. แผนที่ควรมี สไตล์ที่แตกต่างกัน (ขาวดำ จานสีที่กำหนดเอง ฯลฯ)
  5. ผู้ใช้ควรจะสามารถเพิ่ม เครื่องหมาย ในแผนที่
  6. หากมีเครื่องหมาย แผนที่จะต้องมาพร้อมกับกล่องข้อความที่มีข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมาย

ทะเยอทะยานใช่มั้ย? เอาล่ะ มาเริ่มกันเลย!

วิธีสร้างปลั๊กอิน Gutenberg "ตั้งแต่เริ่มต้น"

หากคุณติดตามบล็อกของเรา คุณอาจเห็นว่าเมื่อไม่กี่วันก่อน Antonio ได้เผยแพร่โพสต์ที่อธิบายวิธีสร้างปลั๊กอินโดยใช้เทมเพลตสำเร็จรูปของปลั๊กอินที่เราสร้างขึ้นใน Nelio หากคุณยังไม่ได้อ่านโพสต์ของเขา ฉันแนะนำให้คุณอ่านก่อน เพราะปลั๊กอินของเราจะใช้ปลั๊กอินสำเร็จรูป wp-beb ที่ Antonio อธิบายไว้

ในการเริ่มต้นโครงการ สิ่งแรกที่เราจะทำคือจำลองปลั๊กอินสำเร็จรูปของ Nelio ขั้นแรก สร้างที่เก็บใหม่ในบัญชี GitHub ของคุณ จากนั้นทำตามขั้นตอนที่อธิบายไว้ในหน้าความช่วยเหลือของ Github เพื่อจำลองต้นแบบของเรา:

 git clone --bare https://github.com/avillegasn/wp-beb.git cd wp-beb.git git push --mirror https://github.com/your-username/your-repo.git

เมื่อโปรเจ็กต์ของคุณพร้อมแล้ว ให้ทำตามคำแนะนำที่พบใน README.md เพื่อคอมไพล์โปรเจ็กต์ เพื่อให้สามารถเห็นโปรเจ็กต์ในไซต์ WordPress ของคุณ

วิธีการแปลง Plugin Boilerplate เป็น Plugin

ตามที่ปรากฏในเอกสารประกอบของปลั๊กอิน สิ่งแรกที่เราต้องทำคือเปลี่ยนชื่อโครงการในซอร์สโค้ด นั่นคือคุณต้องเปลี่ยน wp-beb ทั้งหมด (ทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กพร้อมยัติภังค์หรือขีดล่าง) โดยใช้ชื่อปลั๊กอินของเรา (ในกรณีของฉัน nelio-maps )

สำหรับสิ่งนี้ เราสามารถใช้สคริปต์ต่อไปนี้:

เพียงจำไว้ว่าคุณจะต้องแทนที่สตริง nelio maps int บรรทัดที่ 5, 8, 9 และ 10 เป็นชื่อปลั๊กอินของคุณ

ในทางกลับกัน ตอนนี้เป็นเวลาที่ดีที่จะเปลี่ยนเอกสารประกอบของปลั๊กอิน ในอีกด้านหนึ่ง คุณต้องแก้ไขไฟล์ README.md และ readme.txt เพื่อให้สอดคล้องกับวัตถุประสงค์ของปลั๊กอินใหม่ของคุณ (โดยไม่ลืมพูดถึงความจริงที่ว่าคุณกำลังใช้ต้นแบบของเราเป็นฐานแน่นอน) ในทางกลับกัน คุณควรเปลี่ยนความคิดเห็นแรกในไฟล์ PHP หลัก เนื่องจากเป็นข้อมูลที่ WordPress ใช้เพื่อแสดงปลั๊กอินในหน้าจอ ปลั๊กอิน

คุณสามารถดูว่าฉันทำการเปลี่ยนแปลงเหล่านี้ได้อย่างไรในภารกิจแรกของโครงการ Nelio Maps

วิธีทำความสะอาด Plugin Boilerplate ของสิ่งที่ไม่จำเป็น

ปลั๊กอินสำเร็จรูปของ Nelio ประกอบด้วยส่วนประกอบสองสามอย่างตามค่าเริ่มต้น: (a) บล็อกสาธิตและ (b) ปลั๊กอิน Gutenberg เนื่องจากเราสนใจแต่การสร้างบล็อก (แผนที่) เท่านั้น เราจะกำจัดทุกสิ่งที่เหลืออยู่ (ปลั๊กอิน Gutenberg)

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

  1. กำจัดเนื้อหาทั้งหมดที่ปรากฏในโฟลเดอร์ assets (ซึ่งเป็นที่ที่เพิ่มปลั๊กอิน Gutenberg สไตล์และไอคอนของปลั๊กอิน)
  2. ทำความสะอาดไฟล์ webpack.config.js เนื่องจากมีกฎสองสามข้อที่ใช้ไฟล์ใน assets เราเพิ่งลบออก
  3. ล้างไฟล์หลักของปลั๊กอิน เนื่องจากมันเข้าคิวในสไตล์ชีตและไฟล์ JavaScript ที่ไม่มีอยู่แล้ว

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

สรุป

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

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

ภาพ เด่น โดย Brett Zeck บน Unsplash