9 ข้อผิดพลาดที่ควรหลีกเลี่ยงเมื่อพัฒนาปลั๊กอินหรือธีมของ WordPress

เผยแพร่แล้ว: 2020-09-30

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

ข้อผิดพลาด #1: การเสียสละคุณภาพเพื่อการแก้ปัญหาที่รวดเร็ว

นักพัฒนาบางคนพยายามค้นหาทางลัดเมื่อพัฒนาปลั๊กอินหรือธีมขนาดเล็ก พวกเขาเขียนโค้ดไม่สอดคล้องกันและพยายามค้นหาวิธีแก้ปัญหาที่ง่ายและรวดเร็วที่สุด

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

การปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของการเขียนโค้ดอย่างเป็นระบบเป็นสิ่งสำคัญ แม้ว่าคุณจะเพิ่งสร้างปลั๊กอิน/ต้นแบบของธีมก็ตาม โปรดจำไว้ว่า ผลิตภัณฑ์ยอดนิยมจำนวนมากเริ่มต้นจากต้นแบบ หากคุณใช้วิธี "รวดเร็วและสกปรก" คุณจะเริ่มสะสมหนี้ทางเทคนิคตั้งแต่วันแรก

การพัฒนาโค้ดที่สะอาด เขียนดี และเหมาะสมจะเพิ่มเวลาในการพัฒนาของคุณ 10-30% แต่ก็คุ้มค่าในระยะยาวอย่างแน่นอน ในตอนท้าย คุณจะได้รับปลั๊กอินหรือธีมที่บำรุงรักษาได้ มีประสิทธิภาพดี และใช้งานได้จริง

ข้อผิดพลาด #2: ล้มเหลวในการติดตามการเปลี่ยนแปลงโค้ด

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

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


ระบบควบคุมเวอร์ชันช่วยคุณด้วยการบันทึกและติดตามการเปลี่ยนแปลงทั้งหมด วิธีนี้ช่วยให้คุณและนักพัฒนาคนอื่นๆ ทำงานในโครงการเดียวกันกับธีมหรือปลั๊กอินที่พัฒนาต่อไปได้ นอกจากนี้ ระบบควบคุมเวอร์ชัน เช่น Git จะลงทะเบียนการเปลี่ยนแปลงทั้งหมดที่ทำโดยนักพัฒนาแต่ละราย ซึ่งสะดวกเป็นพิเศษเมื่อทำงานในโครงการขนาดใหญ่ หากคุณเลือกใช้ Git ฉันขอแนะนำให้ใช้ GitFlow เป็นเวิร์กโฟลว์การโยงหัวข้อที่สมบูรณ์สำหรับการจัดการรุ่น

ข้อผิดพลาด # 3: ความล้มเหลวในการใช้เนมสเปซ

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

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

namespace Geometry;

class Circle {
    private $radius;

    public circle($r) {
        $radius = $r;
    }

    public get_radius() {
        return $radius;
    }
   
    public get_area() {
        return pi() * $radius * $radius;
    }
}

ข้อผิดพลาด #4: ไม่ใช้ WordPress ไม่ใช่

การปฏิบัติตามหลักปฏิบัติด้านความปลอดภัยสมัยใหม่มีความสำคัญพอๆ กับการตรวจสอบการทำงานของปลั๊กอินหรือธีมของคุณ WordPress ใช้ nonces เพื่อให้การป้องกันในระดับหนึ่งเพื่อตรวจสอบความถูกต้องของคำขอ Nonces มีประโยชน์อย่างยิ่งในการป้องกันการโจมตี Cross-Site Request Forgery (CSRF)

ในการสร้าง nonce ให้ใช้ฟังก์ชันต่อไปนี้

$nonce= wp_create_nonce( 'name');

ตรวจสอบการอ้างอิงโค้ด WordPress นี้หากคุณไม่คุ้นเคยกับ nonce

สมัครสมาชิกและรับสำเนาของเราฟรี

หนังสือธุรกิจปลั๊กอิน WordPress

วิธีสร้างธุรกิจปลั๊กอิน WordPress ที่เจริญรุ่งเรืองในระบบเศรษฐกิจการสมัครสมาชิก

แบ่งปันกับเพื่อน

ป้อนที่อยู่อีเมลของเพื่อนของคุณ เราจะส่งอีเมลให้เฉพาะหนังสือเล่มนี้ เพื่อเป็นเกียรติแก่หน่วยลาดตระเวน

ขอบคุณสำหรับการแชร์

ยอดเยี่ยม - เพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ไปที่ . ต้องการช่วยให้เรากระจายข่าวมากยิ่งขึ้นหรือไม่? ไปต่อ แบ่งปันหนังสือกับเพื่อนและเพื่อนร่วมงานของคุณ

ขอบคุณสำหรับการสมัคร!

- เราเพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ของคุณไปที่ .

อีกครั้ง

มีการพิมพ์ผิดในอีเมลของคุณ? คลิกที่นี่เพื่อแก้ไขที่อยู่อีเมลและส่งอีกครั้ง

ปกหนังสือ
ปกหนังสือ

ข้อผิดพลาด #5: ไม่ใช้ฟังก์ชันหลักของ WordPress

นักพัฒนาหลายคนล้มเหลวในการใช้ศักยภาพของฟังก์ชันหลักของ WordPress ที่มีอยู่อย่างเต็มที่ ธีมและปลั๊กอินบางตัวมีไฟล์ที่สอดคล้องกับไฟล์หลักของ WordPress เช่น Color Pickers และ jQuery

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

ด้วยการใช้สิ่งที่ WordPress นำเสนอ คุณสามารถสร้างธีมหรือปลั๊กอินที่มีน้ำหนักเบาและใช้งานได้จริง

กำลังจ้าง
นักพัฒนา PHP อาวุโส
สร้างแกนหลักของผลิตภัณฑ์ บริการ และ API ของ Freemius และดูผลกระทบโดยตรงต่อธุรกิจปลั๊กอินและธีมของ WordPress
ผู้เชี่ยวชาญด้านการโยกย้ายอีคอมเมิร์ซ
จัดการการย้ายใบอนุญาตและกระบวนการรวมผลิตภัณฑ์สำหรับธุรกิจปลั๊กอินและธีมที่เริ่มขายด้วย Freemius
นักการตลาดเนื้อหา
แบ่งปันความรู้ของเราผ่านเนื้อหาที่เป็นลายลักษณ์อักษร ภาพและเสียง เกี่ยวกับวิธีที่ดีที่สุดในการขายปลั๊กอินและธีม

ข้อผิดพลาด #6: การจัดคิวไฟล์ JavaScript และ CSS

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

ข้อผิดพลาด #7: การวางโค้ด JavaScript ลงในไฟล์หลักเดียวสำหรับธีมขั้นสูง

หากคุณกำลังพัฒนาธีมขั้นสูงที่ใช้ JavaScript เป็นจำนวนมาก ไม่ควรวางโค้ด JavaScript ลงในไฟล์หลักไฟล์เดียว นักพัฒนาหลายคนเลือกที่จะวางโค้ด JavaScript ของธีม WordPress ลงในไฟล์หลักเดียวที่เรียกว่า main.js, theme.js หรือ custom.js มีสาเหตุหลายประการที่คุณไม่ต้องการทำอย่างนั้น อันดับแรก เนื่องจากธีมของคุณจะเติบโตขึ้นในที่สุด ขนาดของไฟล์ก็จะเพิ่มขึ้นด้วย เนื่องจากไฟล์นี้จะถูกโหลดทั่วทั้งไซต์ ทุกหน้าจะใช้เวลาโหลดนานขึ้น

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

นี่คือวิดีโอที่อธิบายเพิ่มเติมเล็กน้อยในหัวข้อนั้น:

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

ข้อผิดพลาด #8: ไม่สามารถสร้างตัวเลือกเพิ่มเติมสำหรับการแก้ไขโค้ด

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

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

ข้อผิดพลาด #9: ความล้มเหลวในการใช้แนวทางการออกแบบโค้ดที่ทันสมัย

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

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

หากคุณกำลังสร้างส่วนขยายของปลั๊กอินที่ทำงานร่วมกับปลั๊กอินอื่นๆ หรือปลั๊กอินที่ต้องใช้โค้ดจำนวนมาก ควรใช้แนวทางการเขียนโปรแกรมเชิงวัตถุ (OOP) แนวคิดหลักเบื้องหลัง OOP คือการจัดเรียงโค้ดเป็นส่วนๆ เช่น คลาสเพื่อการจัดระเบียบที่ดีขึ้น

นอกจากนี้ ฉันไม่แนะนำให้ผสมโค้ด PHP และโค้ด HTML เข้าด้วยกัน จะดีกว่าที่จะแยกพวกมันออกจากกันโดยใช้รูปแบบ Model-View-Controller (MVC) โดยเฉพาะอย่างยิ่งหากปลั๊กอินของคุณได้รับการบำรุงรักษาโดยนักพัฒนาหลายราย

Model-View-Controller Pattern

ซื้อกลับบ้าน

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

ในการตรวจสอบข้อผิดพลาดที่พบบ่อยที่สุดคือ:

  1. เสียสละคุณภาพเพื่อการแก้ปัญหาที่รวดเร็ว
  2. ไม่สามารถติดตามการเปลี่ยนแปลงโค้ด
  3. ไม่สามารถใช้เนมสเปซ
  4. ไม่ได้ใช้ WordPress nonces
  5. ไม่ได้ใช้ฟังก์ชันหลักของ WordPress
  6. การจัดคิวไฟล์ JavaScript และ CSS
  7. การวางโค้ด JavaScript ลงในไฟล์หลักเดียวสำหรับธีมขั้นสูง
  8. ไม่สามารถสร้างตัวเลือกเพิ่มเติมสำหรับการแก้ไขโค้ด
  9. ล้มเหลวในการใช้แนวทางการออกแบบโค้ดที่ทันสมัย

แม้ว่าการทำผิดพลาดจะเป็นสิ่งที่หลีกเลี่ยงไม่ได้ แต่เมื่อคุณรู้แล้วว่าความผิดพลาดคืออะไร คุณก็จะหลีกเลี่ยงได้ง่ายขึ้น

คุณทำผิดพลาดอื่น ๆ เมื่อสร้างธีมหรือปลั๊กอินของคุณหรือไม่? โปรดแบ่งปันประสบการณ์ของคุณในความคิดเห็นด้านล่างและอย่าพลาดข้อผิดพลาดอีก 5 ข้อที่ควรหลีกเลี่ยง

ด้วยผลงานจาก Alyse Falk