3月 8th, 2011年
2011年3月8日
WordPress3.1のソースコードをちょこっと解析
一度Wordpressのソースをみておこうと思ってフロント側のソースの流れを軽く追ってみました。
最初は先入観を持ちたくないのでドキュメントをみる前にソースを追いました。
フロント側の大まかな処理の流れ
index.php
→
wp-blog-header.php
→
wp-load.php
→
wp-config.php
→
wp-settings.php
→
template-loader.php
こう書いてしまうと簡単ですが、吟味しながら見ていたらここまでたどり着くのに2時間くらいかかりました。
さて、ソースをみていて思ったことは、アクションとフィルターがWordpressの重要な要素かなという感覚。
テーマ読み込み部分の処理
template-loader.php内で処理をしています。
簡単に整理すると以下のようになります。
- template_redirectアクションを実行
- ページタイプによってテンプレート名を取得
- template_includeフィルターを実行
- テンプレート読み込み処理
その他気付いたこと
- データベース情報はwp-config.phpに記述されています。
これは初期設定時に生成されたファイルと思われます。 - 処理がおかしいと思った場合、一度プラグインをすべて無効にして動作を確認してみる。
※プラグインの優先順位や、プラグインの処理が悪さをして思うような動作をしない場合があります。
私はテーマを作成する際、テストで試したプラグインの影響でテーマのindex.phpが動作しなく、ものすごいはまったことがあります。 - 投稿スラッグ・・・記事ページのパーマリンクに設定する文字列
- WordPressのプラグイン開発をする上で重要な要素はアクション・フック
- wordpressを実装する上で重要な要素はテーマ・プラグイン
最後に参考になったサイトを整理します。
■Wordpressドキュメント
http://wpdocs.sourceforge.jp/
■Wordpress関数リファレンス
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9
■プラグインAPI
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API
■プラグインAPI/フィルターフック一覧
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7
■プラグインAPI/アクションフック一覧
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7