เอกสารทั้งหมดที่ฉันได้พบกล่าวถึงฟังก์ชั่นการเอาชนะได้ผ่านปลั๊กอินของคุณ
ถ้าคุณกำลังพัฒนาชุดรูปแบบแทนล่ะ
functions.php ของฉันต้องการไฟล์อื่นที่ใช้แทนข้อมูลที่ฟังก์ชั่นที่กำหนดไว้ในget_user_by()
pluggable.php
หากฉันไม่รับif( function_exists() )
สายฉันจะได้รับข้อผิดพลาด "ไม่สามารถประกาศใหม่ ... "
ถ้าฉันรวมการif( function exists() )
โทรฉันก็จะไม่มีข้อผิดพลาด แต่แน่นอนว่าฟังก์ชั่นของฉันนั้นถูกละเว้นเพราะมีรุ่นที่เสียบได้
ขึ้นอยู่กับการโพสต์ที่ยอดเยี่ยมของโดมินิคตามลำดับการเริ่มต้น WordPressเป็นที่ชัดเจนว่าpluggable.php
โหลดก่อนธีมของคุณfunctions.php
และอื่น ๆ เพื่ออธิบายข้อผิดพลาด
ดังนั้นคำถามคือ - คุณจะใช้ประโยชน์จากสถาปัตยกรรม pluggable ที่ดีได้อย่างไรภายในธีมโดยไม่ต้องหันไปเขียนปลั๊กอินซึ่งจะต้องรวมหรือติดตั้งกับธีม?
หมายเหตุเพิ่มเติม : ดังนั้นจึงปรากฏว่าอาร์กิวเมนต์คือชุดรูปแบบไม่ควรพยายามทำสิ่งที่ปลั๊กอินทำ แต่อาร์กิวเมนต์นั้นอายุเกินสี่ปี (ตามหมายเลข trac 4 หลัก) ฉันชอบที่จะได้ยินจากผู้ตีหนักบางคนว่าปรัชญานี้ยังคงใช้งานได้หรือไม่เนื่องจากโครงสร้างที่ซับซ้อนของภูมิทัศน์การพัฒนารูปแบบของวันนี้ ฉันอยากจะเชื่อว่าเรามีวิวัฒนาการมาตั้งแต่นั้นมา
บริบท : ฉันกำลังพัฒนาโซลูชัน CMS แบบครั้งเดียวสำหรับลูกค้าที่มีข้อมูลเมตาที่กำหนดเองจำนวนมากการกำหนดค่าส่วนหลังของผู้ดูแลระบบกระบวนการเข้าสู่ระบบ / การรับรองความถูกต้องที่กำหนดเอง และแน่นอนว่ามีองค์ประกอบการออกแบบ - ซึ่งเป็นที่ที่ชุดรูปแบบเข้ามาความจริงก็คือพวกนี้ไม่ใช่องค์ประกอบที่นำมาใช้ซ้ำได้ - พวกเขาจะไม่นำไปใช้กับลูกค้ารายอื่นพวกเขาจะไม่ถูกวางภายใต้ GPL และเปิดแหล่งที่มา แน่นอนว่าจะไม่แจกจ่าย / ติดตั้งในการปรับใช้ WordPress อื่น ๆ ที่ดีที่สุดมีแนวทางปฏิบัติที่ดีที่สุดฉันจะใช้ประโยชน์จากโครงการในอนาคต แต่นั่นจะเป็นงานอ้างอิง / คัดลอกวางอย่างเคร่งครัด
นี่ไม่ได้เสียงเหมือนกรณีการใช้งานสำหรับปลั๊กอินให้ฉัน มีการติดตั้งชุดรูปแบบอาจเป็นชุดรูปแบบลูกของ Twenty Eleven อาจเป็นรูปแบบสแตนด์อโลนฟังก์ชั่นของมันเรียกใช้ php ในรูปแบบของเรือรวมถึงการจัดการแต่ละด้านที่แตกต่างกันของ CMS ที่เป็นปัญหา จากนั้นไฟล์เท็มเพลตธีมใช้ 'เทมเพลตแท็ก' แบบกำหนดเองที่กำหนดไว้ในการรวม ฉันไม่ต้องการให้มีไฟล์ชุดรูปแบบที่มีการอ้างอิงในปลั๊กอินหรือการเปิดใช้งานอื่น ๆ มันไม่สมเหตุสมผลที่จะสร้างความซับซ้อนในระบบ แน่นอนว่าฉันสามารถวางไว้ในต้องใช้โฟลเดอร์ปลั๊กอิน แต่ที่ยังคงรู้สึกเหมือนสับ - ตอนนี้ทุกอย่างwp-content/themes/my-theme/
ที่มีจะทำอย่างไรกับการปรับแต่งที่ทำสำหรับโครงการนี้มีอยู่ใน ฉันไม่ต้องการพิจารณาการค้นหาสิ่งต่าง ๆ ในโฟลเดอร์ปลั๊กอินบางอันด้วย
อย่าเข้าใจฉันผิด ฉันรักปลั๊กอินและฉันใช้มันและเขียนมัน และฉันจะใช้ปลั๊กอินร่วมกับการพัฒนาชุดรูปแบบที่กำหนดเองสูงนี้เมื่อปลั๊กอินเป็นบุคคลที่สามและแสดงถึงแนวทางปฏิบัติที่ดีที่สุดไกลเกินกว่าที่ฉันจะทำได้ในกรอบเวลาที่เหมาะสม แต่เมื่อฉันต้องการแก้ไขฟังก์ชันการทำงานหลักสำหรับสถานการณ์แบบครั้งเดียวฉันจะเปิดใช้ action hooks, filter hooks และฉันต้องการที่จะพึ่งพาฟังก์ชั่นที่เสียบปลั๊กได้สำหรับผู้ใช้และด้านการตรวจสอบสิทธิ์ของสิ่งต่าง ๆ