[บันทึกการทำเว็บ] การทำ WordPress Plugin ครั้งแรก ตอนที่ 1

ช่วงนี้กำลังง่วนอยู่กับการทำ WordPress Plugin อยู่เลย คือเอา Plugin ตัวเก่า Tweetily ที่เค้าไม่ทำต่อมานานแล้ว (ประมาณ 3 ปีเลยล่ะ) เอามาทำเอง แล้วเอามาใช้กับเว็บตัวเองด้วย ทีนี้ก็เลยเห็นว่าหลายอย่างในโค้ดของเค้าควรจะปรับปรุง ก็เลยขึ้นโปรเจ็คใหม่ Tweetapisek

ทีนี้ มันมีเรื่องโครงสร้างของ Plugin ที่มันยังดูแบบ… ไม่โอเคอ่ะ ก็เลยลองรื้อโครงสร้างใหม่ดู เอา Plugin ที่เค้าเขียนแบบโครงสร้างดีๆ เอามาเป็นต้นแบบ ก็เลยเลือกเอา Google Tag Manager for WordPress มาเป็นต้นแบบ

ทีนี้มันก็ไม่ง่ายแฮะ งงหลายเรื่องเลย อย่างตอนนี้เรื่องฟังก์ชั่น add_action/admin_menu มันต้องอยู่ตรงไหน ก็ยังไม่รู้ ก็เลยต้องทดลองกันเยอะเลย

มันแบบ… เมื่อคืนนี้เมนูก็ขึ้นแล้วนี่หว่า แต่ไหงเมนูหายไปไหน.. แก้ไปแก้มาเป็นชั่วโมงเลย

ตอนนี้จบก่อนดีกว่า แปะ reference เอาไว้ข้างล่างนี้นะครับ เผื่อใครอยากจะเอาไปทำบ้าง

https://codex.wordpress.org/Creating_Options_Pages

 

Update บันทึกทำเว็บ 1:

เมื่อกี้แก้ปัญหาได้แล้ว ปัญหาเกิดจากผมได้เอาฟังก์ชั่นต่างๆ พวก add_action/admin_menu ฯลฯ ไปใส่ไว้ในอีกไฟล์นึง แล้วให้ plugin initiation เรียก require_once อีกทีเพื่อเอามาใช้ ทีนี้ พอเราเอาฟังก์ชั่นไป register กับ wordpress …. คิดว่านะ… คิดว่า wrodpress ก็เรียกใช้ require_once น่ะแหละ แต่มันหาไฟล์ไม่เจอ เพราะมันเรียกใช้จากอีก path นึงซึ่งไม่ใช่ path ของ plugin ที่กำลังทำอยู่

ทีนี้ ก็เลยต้องกำหนด path เต็มรูปแบบ ให้ require_once หาไฟล์ของเราให้เจอ เท่านั้นแหละ จบปิ๊ง!

You may also like

Leave a Reply