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' );
私は2つのことを避けたいです:最初にユーザーへの多くの説明。次に、親が初期化手順を誤って削除してロープが切断されると、誰かが何かを壊す可能性があります。人々は、知らないうちに何かを壊す危険を冒すことなく、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の上部に挿入すると、その中のすべてが前にロードされます。ない?