รหัสเหตุผล 24+ ไม่ทำงาน & วิธีแก้ไข

เผยแพร่แล้ว: 2013-08-21

ฉันมักจะทดสอบโค้ดก่อนเสมอเพื่อให้แน่ใจว่าใช้งานได้ แต่มีสาเหตุหลายประการที่ทำให้บางครั้งมันไม่ทำงานสำหรับทั้งตัวฉันเองและคนอื่นๆ ที่ใช้มัน แม้ว่ามันจะไม่เสียหายก็ตาม

ต่อไปนี้คือรายการสาเหตุบางประการที่โค้ดใช้ไม่ได้:

  1. ลืมล้างแคชของเบราว์เซอร์: คุณอาจทำการเปลี่ยนแปลง CSS และคิดว่ามันไม่ทำงานเมื่อทำจริงเพราะเบราว์เซอร์กำลังแสดงหน้าเว็บเวอร์ชันเก่ากว่าซึ่งรวมถึงโค้ดที่เก่ากว่า ล้างแคชของเบราว์เซอร์เพื่อให้แน่ใจว่า
  2. ไม่ได้ล้างแคชของเซิร์ฟเวอร์: ผู้ให้บริการโฮสติ้งที่มีการจัดการบางรายใช้การแคชฝั่งเซิร์ฟเวอร์ที่เข้มงวดมาก ฉันรู้ว่า WPEngine หมายความว่าอาจใช้เวลาหลายวันก่อนที่การเปลี่ยนแปลง CSS จะปรากฏบนไซต์ของคุณ คุณอาจทำการเปลี่ยนแปลงเหล่านี้ซึ่งได้ผลจริงๆ แต่คิดว่าไม่ได้ทำเพราะคุณไม่เห็นการเปลี่ยนแปลงในส่วนหน้า ล้างแคชเซิร์ฟเวอร์ของคุณและทดสอบโค้ดในเครื่องโดยใช้แคชฝั่งเซิร์ฟเวอร์หรือปลั๊กอินแคช
  3. วางโค้ด CSS ลงในไฟล์ฟังก์ชัน: โค้ด CSS ทำงานไม่ถูกต้องในไฟล์ฟังก์ชัน ซึ่งรวมถึงแท็ก PHP ที่เปิดอยู่ ซึ่งหมายถึงการอ่านโดยโปรเซสเซอร์ PHP ที่ติดตั้งบนเซิร์ฟเวอร์
  4. วาง PHP ลงในสไตล์ชีต : โค้ด PHP ไม่ทำงานในไฟล์ .css ซึ่งอ่านโดยเบราว์เซอร์และไม่ใช่ตัวประมวลผล PHP ที่ติดตั้งบนเซิร์ฟเวอร์
  5. วาง PHP หรือ CSS ลงในสคริปต์ส่วนหัวและส่วนท้าย: ธีมที่มีกล่องสำหรับสคริปต์ส่วนหัวและส่วนท้าย จะทำให้ง่ายต่อการเพิ่ม Javascript สำหรับการติดตาม Google Analytics และสคริปต์แชทสด ไม่ใช่สคริปต์ PHP
  6. คัดลอกจากหน้าเว็บและวางลงในเครื่องมือแก้ไขธีม: ข้อผิดพลาดทั่วไปที่อาจทำให้ Apostrophes หันหลังกลับส่งผลให้หน้าจอสีขาวแห่งความตายทำลายไซต์ของคุณ คัดลอกโค้ดดิบและวางที่ส่วนท้ายของไฟล์เสมอโดยใช้โปรแกรมแก้ไขข้อความ เช่น Notepad++
  7. ไม่ได้คัดลอกโค้ดทั้งหมด: การคัดลอกบล็อกของโค้ด CSS ที่ไม่มีคลาสหรือไม่มีวงเล็บปิดจะทำให้โค้ดไม่ทำงาน ดังนั้นคุณอาจคิดว่าโค้ดไม่ผิดพลาดเมื่อปัญหาเดียวคือคุณทิ้งวงเล็บเหลี่ยมหรือกึ่งโคลอนไว้เบื้องหลัง
  8. ไม่ได้วางโค้ดทั้งหมด : เช่นเดียวกับด้านบนและบางครั้งอาจเกิดขึ้น
  9. ใช้ hooks ใหม่เมื่อธีมของคุณใช้อันเก่า: การใช้โค้ดซึ่งรวมถึง Loop hook สำหรับไซต์ที่ยังคงใช้มาร์กอัป XHTML เก่าบนไซต์ใหม่จะไม่ทำงาน โค้ดจะทำงานบนไซต์ที่เก่ากว่า ดังนั้นจึงไม่เสียหาย แต่จะใช้งานไม่ได้กับ HTML 5 ที่เปิดใช้งานธีมย่อย
  10. ใช้ hooks เก่าเมื่อธีมของคุณใช้อันใหม่: เช่นเดียวกับด้านบน
  11. การใช้เบราว์เซอร์เก่าที่ไม่รองรับคลาสในโค้ด: เบราว์เซอร์รุ่นเก่าบางตัวไม่รองรับคลาส CSS บางคลาส ซึ่งหมายความว่าโค้ดจะไม่ทำงานตามที่เขียนไว้ คุณสามารถติดตั้งเบราว์เซอร์หลายตัวเพื่อทดสอบโค้ดหรือใช้เครื่องมือออนไลน์ฟรีสำหรับความเข้ากันได้ข้ามเบราว์เซอร์
  12. การใช้เบราว์เซอร์เวอร์ชันล่าสุดซึ่งยังไม่รองรับคลาสในโค้ด: เบราว์เซอร์ใหม่บางตัวไม่รองรับคลาส CSS บางคลาส ซึ่งหมายความว่าโค้ดจะใช้งานได้บนเบราว์เซอร์รุ่นเก่า อย่างไรก็ตาม คุณอาจคิดว่าไม่รองรับเพราะใช้รุ่นเบต้า เวอร์ชั่นหรือเวอร์ชั่นล่าสุดที่เพิ่งปล่อยผึ้ง
  13. คัดลอกแท็กเปิด PHP และวางลงในไฟล์ฟังก์ชันของคุณ โดยทั่วไปข้อมูลโค้ด PHP จะมีแท็กเปิด PHP แต่ไม่ควรวางลงในไฟล์ฟังก์ชันที่มีแท็กนั้นอยู่แล้ว คุณจะได้รับข้อความแสดงข้อผิดพลาดและทำลายไซต์ของคุณหากเกิดเหตุการณ์นี้ขึ้น ซึ่งแก้ไขได้ง่ายเพียงแค่นำแท็กออก นี่คือเหตุผลที่วิธีที่ดีที่สุดในการใช้โปรแกรมแก้ไขข้อความเพื่อวางโค้ดลงในไฟล์จริง แทนที่จะใช้โปรแกรมแก้ไข WordPress พวกเขา หากคุณเพิ่มโค้ดลงในไฟล์จริง คุณสามารถเปิดใหม่ได้อย่างง่ายดายและนำปัญหาออกอย่างรวดเร็ว ซึ่งไม่ใช่กรณีนี้หากใช้ตัวแก้ไขธีม เนื่องจากคุณจะถูกล็อกไม่ให้ออกจากไซต์เมื่อคุณประสบกับข้อผิดพลาดในการเขียนโปรแกรม
  14. คัดลอกและวางโซลูชันทั้งสองแทนที่จะเลือกอย่างใดอย่างหนึ่ง: โพสต์และฟอรัมจำนวนมากมีข้อมูลโค้ดหลายรายการซึ่งแก้ปัญหาเดียวกันได้ หากคุณวางข้อมูลโค้ด 2 รายการซึ่งทำสิ่งเดียวกัน อาจทำให้ไซต์ของคุณเสียหายได้ ดังนั้นคุณอาจคิดว่าโค้ดใช้งานไม่ได้ซึ่งไม่ใช่กรณีนี้ ใช้ข้อมูลโค้ดเพียงครั้งละหนึ่งรายการเท่านั้น
  15. โค้ดฟังก์ชันที่คัดลอกลงในไฟล์เทมเพลต: บางครั้งคุณจะพบโค้ด PHP ที่เขียนขึ้นเพื่อใช้ในไฟล์เทมเพลต แทนที่จะเป็นไฟล์ฟังก์ชันธีมลูก โค้ดเทมเพลตใช้ไม่ได้ในไฟล์ฟังก์ชันเสมอไป เนื่องจากโดยทั่วไปแล้วโค้ดนี้จะอยู่ในแท็กเปิดและปิดของ PHP โดยทั่วไปแล้วฟังก์ชันที่กำหนดเองไม่ได้หมายความว่าโดยทั่วไปแล้วจะไม่ทำงานในไฟล์ te,plate ทั้งนี้ขึ้นอยู่กับธีม เพียงตรวจสอบให้แน่ใจว่าคุณรู้แน่ชัดว่าควรวางโค้ดใดในไฟล์ใด ไม่เช่นนั้น คุณอาจได้รับข้อผิดพลาดโดยคิดว่าโค้ดใช้ไม่ได้เมื่อทำงาน
  16. คุณได้ติดตั้งปลั๊กอินที่แทนที่โค้ด: ปลั๊กอินบางตัวที่แทนที่โค้ด PHP ซึ่งหมายความว่าโค้ดที่มีตัวกรองและ hooks อาจไม่ทำงาน ตัวอย่างนี้คือปลั๊กอิน Genesis Simple Edits หากคุณติดตั้งปลั๊กอินนี้ซึ่งช่วยให้คุณปรับแต่งข้อมูลโพสต์และเมตาของโพสต์ได้ การเพิ่มโค้ด PHP เพื่อทำสิ่งเดียวกัน ซึ่งรวมถึงเมตาโพสต์หรือตัวกรองข้อมูลโพสต์จะไม่ทำงาน คุณอาจคิดว่าโค้ดใช้งานไม่ได้ทั้งๆ ที่อันที่จริงแล้ว และสิ่งที่คุณต้องทำเพื่อแก้ปัญหาและทำให้โค้ดทำงานได้คือปิดใช้งานปลั๊กอิน
  17. การใช้โค้ด PHP เพื่อเปลี่ยนเลย์เอาต์แบบมีเงื่อนไข รหัสนี้จะไม่ทำงานในบางธีมโดยใช้ bbPress ซึ่งใช้ปลั๊กอินเชื่อมต่อ Genesis bbPress ด้วย ปลั๊กอินนี้เชื่อมต่อกับตัวกรอง Genesis ซึ่งเป็นสิ่งเดียวกับที่โค้ด PHP ทำเพื่อเปลี่ยนเลย์เอาต์แบบมีเงื่อนไข ดังนั้นมันจะไม่ทำงานเมื่อแทนที่โค้ด
  18. การใช้คลาส XHTML CSS ในธีมย่อย HTML 5 – ตัวอย่าง: #content จะไม่ทำงานกับธีมย่อย HTML 5 ที่ใช้ .entry-content
  19. การใช้มาร์กอัป HTML ในธีม XHTML – .site-header จะไม่ทำงานบนไซต์ที่ใช้มาร์กอัป XHTML ดังนั้นคุณต้องใช้ #header
  20. รหัสเทมเพลตหน้าแรก – รหัสใดๆ ในเทมเพลตหน้าแรกของคุณใช้งานได้เฉพาะเมื่อคุณใช้การตั้งค่าการอ่านเริ่มต้นเท่านั้น หากคุณเปลี่ยนการตั้งค่าเหล่านี้และเลือก Static Page เป็นหน้าแรก โค้ดในเทมเพลตหน้าแรกของคุณจะไม่ทำงาน
  21. เพิ่ม CSS After Media Queries – ดีที่สุดในการเพิ่ม CSS ที่กำหนดเองก่อน Media Queries ของคุณ มิฉะนั้นอาจไม่ทำงาน
  22. เพิ่ม CSS เพื่อแก้ไขคลาสที่จัดสไตล์แล้ว – คุณเพิ่ม CSS ที่ส่วนท้ายของสไตล์ชีตของคุณเพื่อเปลี่ยนสไตล์ขององค์ประกอบที่มีอยู่ซึ่งกำหนดสไตล์ไว้แล้วโดยค่าเริ่มต้น ตัวอย่างนี้คือเมื่อคุณแก้ไขพื้นที่วิดเจ็ตเพื่อใช้วิดเจ็ตบทความเด่นของ Genesis เมื่อกำหนดสไตล์โดยค่าเริ่มต้นเพื่อใช้วิดเจ็ตเพจเด่น CSS ของคุณอาจแตกต่างกัน แต่คุณใช้คลาสอื่น สิ่งที่คุณต้องทำคือแก้ไข CSS เริ่มต้นเพื่อให้จัดรูปแบบวิดเจ็ตเพจเด่นที่ยาวขึ้นและจัดรูปแบบเฉพาะวิดเจ็ตโพสต์เด่น
  23. รหัสเทมเพลตหน้าแรก – รหัสใดๆ ในไฟล์เทมเพลต home.php ของคุณ จะทำงานที่หน้าแรกเมื่อคุณใช้การตั้งค่าการอ่านเริ่มต้นเท่านั้น หากคุณใช้หน้าคงที่เป็นหน้าแรก โค้ดจะใช้ได้เฉพาะในหน้าบทความของคุณ (เช่น หน้าบล็อก) หากคุณไม่ได้เลือกเทมเพลตหน้าบล็อกจากเมนูแบบเลื่อนลง (ใช้กับธีมที่มีเทมเพลตหน้าบล็อกเท่านั้น)
  24. CSS ที่แก้ไขอย่างไม่ถูกต้องทำให้ CSS แตกตัวอื่น – สมาชิกได้ติดตั้งโค้ดบางส่วนเพื่อสร้างเลย์เอาต์ที่กำหนดเอง แต่มันใช้งานไม่ได้เพราะ CSS ในการแก้ไขความกว้างของเนื้อหาไม่ทำงาน พวกเขาค้นพบ CSS อื่นๆ ที่พวกเขาเพิ่มไว้ก่อนหน้านี้โดยใช้ !important ทำให้ CSS ใหม่ทำงานไม่ได้

โค้ดด้านบนจะไม่ทำงานหากคุณเปิดใช้งานปลั๊กอิน Genesis Simple Edits ขณะใช้งานตัวกรองข้อมูลโพสต์

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

กระทู้ที่เกี่ยวข้อง

  • 5 จุดสำคัญที่ต้องพิจารณาก่อนเผยแพร่รหัสอีกครั้ง