前回、ワードプレスが動くとき、どんなphpが動いているか1:ルートのindex.phpで、requireされたwp-blog-header.phpについて。
/** * Loads the WordPress environment and template. * * @package WordPress */ if ( !isset($wp_did_header) ) { //変数$wp_did_headerに何もなければ $wp_did_header = true; //*1 require_once( dirname(__FILE__) . '/wp-load.php' ); //*2 wp(); //*3 require_once( ABSPATH . WPINC . '/template-loader.php' ); //*4 }
*1の
$wp_did_header = true;
あんまり意味ない。あとで、wordpressフォルダを検索すると、theme.phpというファイルの中で、これがtrueじゃないといけない何かがあるみたい。
*2の
require_once( dirname(__FILE__) . '/wp-load.php' );
でwp-load.phpを呼び出し。
dirname(__FILE__)
は、今いるディレクトリの名前のこと。
*3の
wp();
は、function.phpで定義されている。
関数リファレンス/WP Queryで使われる、&wp_queryに関係しているみたい。DBからいろんな条件で情報を引き出してくる何らかへのゴーサイン?
*4で、template-loader.phpの呼び出し。前回の最後参照。
このファイルの役割
スタート地点。
WordPressが動くための関数、pluginの読み込みをさせるwp-load.phpと、
投稿なのかページなのかによりsingle.phpなど適切なファイルを読み込ませるtemplate-loader.phpを、
それぞれ読み込んでいる。
これがあるから全てが動く感じ。
コメント
コメント一覧 (2件)
wp-settings.phpの内部でクラスをNEWしています。
$GLOBALS[‘wp’] = new WP();
私はVC++へワードプレスのプロジェクトを組み入れて全体を調査し始めました、この言語(php)は非常にVC++とC言語に近く非常に理解しやすいですが今はまだ全然理解不能です(矛盾していますが、笑い)、かなりの可能性があると私は思っています。
何でも出来そうに思いますがこのワードプレス内でコードを編集したくは有りません、私的には関数的な処理が出来ると思い期待しているんですが。