Tôi gặp vấn đề là tôi phải tải functions.php
tệp của chủ đề gốc trước khi functions.php
tải tệp của chủ đề con . Điều này là cần thiết cho thủ tục thiết lập & init. Tôi đã xem xét các hook bên trong /wp_core_root/wp-sinstall.php (có tên do_action('setup_theme');
:).
Vấn đề là tôi không biết cách nối vào đó, vì tập tin đầu tiên tôi nhận được là chủ đề con functions.php
, nên add_action( 'setup_theme', 'my_init_function' );
sẽ không hoạt động.
Chỉnh sửa:
a) Tôi biết rằng các plugin tải sớm hơn chủ đề và do đó có thể truy cập ngay cả Truy vấn ban đầu, nhưng tôi không muốn dựa vào Plugin.
b) Đây là mã (rút ngắn) từ tệp 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' );
Tôi muốn tránh hai điều: Đầu tiên rất nhiều lời giải thích cho người dùng. Thứ hai cơ hội ai đó phá vỡ bất cứ điều gì nếu cắt dây với vô tình xóa thủ tục init cha mẹ. Mọi người sẽ chỉ chơi bên trong các hàm.php mà không có nguy cơ phá vỡ bất cứ điều gì mà không biết.
Nói cách khác: Làm cách nào để giữ cho tệp chủ đề con.php của tôi sạch, nhưng các chủ đề phụ đã được khởi động xong?
Có ý kiến gì không? Cảm ơn rất nhiều!
functions.php
. Hãy xem wp-settings.php
tệp "molto loko" trong lõi (dòng: 275-279 @wp 3.1 rc) ... trông như thế này: if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) include( STYLESHEETPATH . '/functions.php' ); if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) include( TEMPLATEPATH . '/functions.php' );
vì vậy tôi không thể thấy cơ hội ... Và tôi không muốn sử dụng một plugin để bootstrap chủ đề của tôi.
include(/path/to/parent/themes/functions.php)
vào đầu các chủ đề con của bạn hàm.php, thì mọi thứ trong đó sẽ được tải trước đó. Không phải?