คำอธิบายบางอย่าง
ก่อนอื่นคุณต้องเข้าใจวัตถุประสงค์ของ functions.php ในชุดรูปแบบ Function.php นั้นเป็นเพียงแค่ไฟล์ปลั๊กอินที่ไม่มีชื่อใด ๆ หาก Wordpress ถูกโหลดโดยอัตโนมัติ Wordpress โหลด function.php ของชุดรูปแบบปัจจุบันของคุณสำหรับ wordpress front-end pages และหน้า back-end (admin)
ไม่มีความแตกต่างระหว่างปลั๊กอินและ functions.php ยกเว้นว่าปลั๊กอินมีชื่อและสามารถเปิดใช้งาน / ยกเลิกการเปิดใช้งานโดยไม่คำนึงถึงปลั๊กอินและธีมอื่น ๆ funtions.php แนบมากับชุดรูปแบบปัจจุบันของคุณและหากคุณเปลี่ยนไปใช้ชุดรูปแบบอื่น Wordpress จะใช้ function.php ของชุดรูปแบบใหม่และไม่ใช่ function.php เดิมของคุณด้วยการปรับเปลี่ยนแบบกำหนดเอง
การอัปเดตชุดรูปแบบยังเขียนทับ function.php และไม่มีทางหลีกเลี่ยงได้แม้ว่าคุณจะใส่ modifictions ที่กำหนดเองของคุณในไฟล์รหัสแยกต่างหากและรวมไว้ใน fucntions.php ของคุณคุณจะต้องเพิ่มบรรทัดนั้นหลังจากการอัพเดททุกครั้ง
โดยทั่วไปแล้วประเภทของรหัสที่ควรจะอยู่ใน functions.php:
- ฟังก์ชันที่ใช้ในไฟล์เท็มเพลตของธีมของคุณ
- ตัวเลือกชุดรูปแบบ
- แถบด้านข้าง
- เมนูการนำทาง
- รูปแบบโพสต์
- โพสต์รูปขนาดย่อ
- โค้ดใด ๆ ที่เกี่ยวข้องกับธีมปัจจุบันเท่านั้น
ตามที่คุณต้องการรักษาการปรับเปลี่ยนที่กำหนดเองของคุณแม้ว่าคุณจะเปลี่ยนธีม เนื่องจากชุดรูปแบบเด็กจะไม่ทำงานในกรณีนี้เนื่องจากคุณจะเปลี่ยนชุดรูปแบบและฟังก์ชั่น. php ของชุดรูปแบบลูกจะไม่ถูกใช้
การแก้ไขปัญหา
ทางออกเดียวที่แนะนำโดย @Otto คือการสร้างไฟล์ปลั๊กอิน วิธีที่คุณสามารถใช้เพื่อสร้างปลั๊กอินเฉพาะไซต์ของคุณคือการสร้างโฟลเดอร์ที่มีชื่อไซต์ของคุณใน 'wp-content / plugins' และสร้างไฟล์ปลั๊กอินในนั้น
ทำไมต้องเป็นไฟล์ปลั๊กอิน? และไม่ใช่ไฟล์ปลั๊กอินเดี่ยว
ฟังก์ชั่นการทำงานของไซต์ที่เกี่ยวข้องกับกลุ่มที่เกี่ยวข้องกับรหัสในไฟล์ปลั๊กอินแยกต่างหากและอย่าลืมเพิ่มส่วนหัวของปลั๊กอินในไฟล์ปลั๊กอินทั้งหมดของคุณเพื่อให้ Wordpress เป็นที่รู้จักในฐานะปลั๊กอินแยกต่างหาก จากนั้นคุณจะสามารถเปิด / ปิดการใช้งานคุณสมบัติ / ฟังก์ชั่นต่าง ๆ ของไซต์ของคุณโดยไม่ทำลายทุกอย่าง