wp-load.php
前回までの復習です。
※wordpress2.71で解析しています。
wordpressは入り口となる「index.php」から「wp-blog-header.php」を読み込んでいました。
「wp-blog-header.php」内の処理は
①WPの処理をする為のクラスやライブラリを読み込んだり、各種設定をするなどのWP環境を主とする「wp-load.php」の読み込み
②WPのメイン処理を行う「wp() 」の実行
③テンプレートを選択・表示の処理を行う「template-load.php」の読み込み
でした。
①基本設定
最初に、定数「ABSPATH」とPHPエラー報告レベルの設定をしています。
定数の値は、「dirname(__FILE__) . '/' 」です。「wp-load.php」のパス情報を定数に格納しています。これから「wordpress」の様々な基本ファイルを読み込んでいきますが、その時のパス指定に「ABSPATH」を用いています。つまり、「wp-load.php」ファイルのパスが基準になります。
次にphpエラー報告レベルの設定です。「E_ALL」なのでまずは全エラーが対象になっています。そのうち「 E_NOTICE」「E_USER_NOTICE」の2つのエラー処理が除外されています。
②「wp-config.php」存在有無による分岐
「wp-config.php」はwordpressをインストールするときにデータベース情報を書き込むなど基本情報を記述して作成したと思います。ウィザードでインストールした場合は自動で生成されます。
※ 「インストール」「インストール(ウィザード形式)」
この「wp-config.php」が存在するかどうかにより大きく分岐していました。
③「wp-config.php」の読み込み
存在すれば「wp-config.php」を読み込み処理を続けていきます。「wp-config.php」からの処理の続きは次回以降説明します。存在しなければ④~⑥へと処理を経た後、phpのdie()関数により、ここで処理が終わります。
④インストールの為のパス設定
コメントで「Set a path for the link to the installer」と書かれています。この後説明するエラーメッセージにインストールへのリンクを書くんですが、そのリンク先のパス指定に使います。この「wp-load.php」は管理者パネル「wp-admin > admin.php」からも読まれています。
else $path = 'wp-admin/';
urlに「wp-admin」を含むかどうかにより、ユーザぺージからのアクセスなのか、「管理パネル」からのアクセスなのか判断しています。
⑤wordpressの基本クラス、ライブラリを読み込み
この後、エラーメッセージを表示する為、wp_die()関数を利用しています。エラー表示して処理は終了するのですが、エラーを表示したりインストールするためのリンク先を指定するなどで処理が必要な為、とりあえずwordpressの基本クラスとライブラリを読み込んでます。
⑥エラーメッセージ表示
wp_die関数(※wp-include > functions.php) を実行してエラー表示を行います。この関数の最後にdie関数が実行されphp処理が終わります。
2009 年 5 月 30 日 土曜日 【 カテゴリー: wordpress構造解析 , wp_root 】




2009 年 6 月 3 日 2:09 AM
[...] wp-load.php [...]