functions.php
자식 테마의 functions.php
파일을로드 하기 전에 부모 테마의 파일 을로드해야한다는 문제가 있습니다 . 설정 및 초기화 절차에 필요합니다. 나는 /wp_core_root/wp-settings.php 안의 훅을 보았다 (이름 :) do_action('setup_theme');
.
문제는 내가 얻을 첫 번째 파일은 자식 테마의이 없기 때문에, 거기에 후크하는 방법을 모르는 것입니다 functions.php
, 그래서 add_action( 'setup_theme', 'my_init_function' );
작동합니다.
편집 :
a) 플러그인이 테마보다 빨리로드되므로 초기 쿼리조차 액세스 할 수 있지만 플러그인에 의존하고 싶지 않습니다.
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' );
나는 두 가지를 피하고 싶다 : 먼저 사용자에게 많은 설명. 둘째, 실수로 부모의 초기화 절차를 삭제하여 밧줄을자를 경우 누군가가 무언가를 깰 가능성. 사람들은 functions.php 안에서 그것을 몰라도 아무것도 깰 위험없이 플레이해야합니다.
다른 말로하면 : 내 자식 테마 functions.php 파일을 어떻게 깨끗하게 유지하지만 부모 테마 부트 스트랩은 어떻게 유지합니까?
어떤 아이디어? 고마워요!
functions.php
입니다. 은 "몰토 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)
자식 테마 functions.php의 맨 위에 삽입하면 거기에있는 모든 것이 전에로드됩니다. 아니?