У меня проблема с тем, что мне нужно загрузить functions.php
файл моей родительской темы до загрузки файла моей дочерней темы functions.php
. Это необходимо для процедуры установки и инициализации. Я посмотрел на хуки внутри /wp_core_root/wp-settings.php (по имени:) do_action('setup_theme');
.
Проблема в том, что я не знаю, как туда попасть, потому что первый файл, который я получаю, это дочерняя тема functions.php
, так что не add_action( 'setup_theme', 'my_init_function' );
будет работать.
Изменить:
а) Я знаю, что плагины загружаются раньше, чем тема и, следовательно, могут получить доступ даже к первоначальному запросу, но я не хочу полагаться на плагин.
б) Вот код (сокращенный) из файла 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' );
Я хочу избежать двух вещей: сначала много объяснений для пользователей. Во-вторых, вероятность того, что кто-нибудь что-нибудь сломает, если перережет веревку, случайно удалив родительскую процедуру инициализации. Люди должны просто играть внутри functions.php, не рискуя что-то сломать, не зная об этом.
Другими словами: как сохранить мой файл functions.php дочерних тем в чистоте, но завершить ли загрузку родительских тем?
Есть идеи? Большое спасибо!
functions.php
. Взгляните на wp-settings.php
файл "molto loko" в ядре (строка: 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)
в начало своих дочерних тем functions.php, то все, что там, загружается раньше. Не?