ฉันพบปัญหาที่ฉันต้องโหลดfunctions.php
ไฟล์ของธีมหลักก่อนfunctions.php
โหลดไฟล์ของธีมลูก จำเป็นสำหรับขั้นตอนการตั้งค่าและเริ่มต้น ผมมองไปที่ตะขอภายใน /wp_core_root/wp-settings.php (ชื่อ: do_action('setup_theme');
)
ปัญหาคือว่าฉันไม่ทราบวิธีการขอมีเพราะไฟล์แรกที่ฉันได้รับคือชุดรูปแบบของเด็กfunctions.php
ดังนั้นadd_action( 'setup_theme', 'my_init_function' );
จะไม่ทำงาน
แก้ไข:
ก) ฉันรู้ว่าปลั๊กอินโหลดเร็วกว่าธีมและสามารถเข้าถึงได้แม้กระทั่งคิวรีเริ่มต้น แต่ฉันไม่ต้องการพึ่งพาปลั๊กอิน
b) นี่คือรหัส (ย่อ) จากไฟล์ wp-settings.php
// happens a lot earlier:
do_action( 'plugins_loaded' );
// localize stuff happening here
do_action( 'setup_theme' );
// Load the functions for the active theme, for both parent and child theme if applicable.
if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
include( STYLESHEETPATH . '/functions.php' );
if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
include( TEMPLATEPATH . '/functions.php' );
// first available hook, *after* functions.php was loaded
do_action( 'after_setup_theme' );
ฉันต้องการหลีกเลี่ยงสองสิ่ง: คำอธิบายแรก ๆ มากมายสำหรับผู้ใช้ โอกาสครั้งที่สองที่มีคนทำลายอะไรถ้าการตัดเชือกด้วยการลบขั้นตอนเริ่มต้นของผู้ปกครองโดยไม่ตั้งใจ ผู้คนจะต้องเล่นภายในฟังก์ชั่น. php โดยไม่ต้องเสี่ยงที่จะทำลายอะไรโดยไม่รู้ตัว
กล่าวอีกนัยหนึ่ง: ฉันจะรักษาความสะอาดของชุดรูปแบบไฟล์ของเด็ก ๆ ได้อย่างไรไฟล์ php แต่ทำ bootstrap ที่เป็นธีมหลักได้อย่างไร?
ความคิดใด ๆ ขอบคุณมาก!
functions.php
ไฟล์แรกที่ได้รับการโหลดในบริบทธีมของธีมเด็ก ลองดูที่ไฟล์ "molto loko" wp-settings.php
ในแกนกลาง (บรรทัด: 275-279 @wp 3.1 rc) ... มีลักษณะเช่นนี้: if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) include( STYLESHEETPATH . '/functions.php' ); if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) include( TEMPLATEPATH . '/functions.php' );
ดังนั้นฉันจึงไม่เห็นโอกาส ... และฉันไม่ต้องการใช้ ปลั๊กอินสำหรับบูตบู๊ตธีมของฉัน
include(/path/to/parent/themes/functions.php)
ที่ด้านบนของชุดรูปแบบลูกของคุณ function.php แล้วทุกอย่างในนั้นจะโหลดก่อน ไม่?