*

WordPressのソースを読んでみる【その1】

公開日: : 最終更新日:2014/03/13 WordPress ,


スポンサードリンク



少しずつですがWordPressのソースを読んでいこうと考えております。当然WordPressはPHPで作成されていますので

まずは「WordPress利用者向けPHP入門【基本的な利用方法と変数】」をご覧いただければと思います。

なお、本ブログの利用環境のWordPressのバージョンは「WordPress 3.7.1 」、
利用テーマは「Stinger3(stinger3ver20131023)」となります。

第一回目はWordPressにアクセスした時に始めに動作するPHPの中身を対象とします。

 

一番始めに動作するPHP

WordPressで構成されているサイトにアクセスした時に動作するPHPは
WordPressのインストール先フォルダの直下に存在するindex.phpです。
(デフォルトの場合はです。home.phpn等を作成している場合は動作が異なります。)

index.phpを読む

index.phpの内容は以下のようになっています。

・6行目
@package WordPressですが、これは自身の名前空間としてWordPressとの文字列を定義しています。
WordPressに含まれる全てのPHPの名前空間(package名)は全てWordPressとなっています。
まあ名字みたいな物と考えていただければOKと思います。

・14行目
define(‘WP_USE_THEMES’, true);は’WP_USE_THEMES’という文字列に対してtrueの論理値(true/false)を設定しています。
WordPressでテーマを利用するとの宣言です。
当然宣言するんですから、他のソースで参照して、テーマ利用するときは、しないときは、との分岐に利用されます。

・17行目
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
ですが、まず__FILE__の説明をさせていただきます。

__FILE__は今動作しているPHP(index.php)のプルパスファイル名を意味します。

dirnameはPHPの標準関数で、引数で指定されたファイルの親フォルダのフルパスを返却します。
requireもPHPの標準関数で、指定されたファイルをインクルードする動作を行います。
http://php.net/manual/ja/function.require.php
によるとinclude関数はインクルード対象のファイルの展開時にエラーが発生しても処理が停止せずにそれ以降(includeの次の行)の処理が継続されます。
requireは処理が停止します。

require(パス1 . パス2)との呼び出しを行うと
パス1の配下からの相対パスとしてパス2を利用してrequireが呼び出されます。

例えば
require(/etc . /hogehoge/hoge.php);
との呼び出しの場合/etc/hogehoge/hoge.phpが対象のファイルとなります。

と説明が長々しくなりましたがWordPressインストールフォルダに存在するwp-blog-header.phpを読み込んでいるだけです。

wp-blog-header.php

wp-blog-header.phpの内容は以下のようになっています。

・6行目
$wp_did_headerがセットされていない場合の条件分岐です。
当然初回実行時にはこの条件に合致します。

・10行目
グローバル変数の$wp_did_headerにtrueをセットします。

・12行目
require_once関数を利用してWordPressインストールフォルダ直下に存在するwp-load.phpを読み込みます。
ただし、wp-load.phpが既に一度読み込まれている場合は読み込みません。

・14行目
wp-includes/functions.phpのwp関数を呼び出しています。

・16行目
require_once関数を利用してtemplate-loader.phpを読み込みます。

次回以降では、wp-load.php、wp関数、template-loader.phpを読み進めて行きたいと考えております。


スポンサードリンク



関連記事

no image

WordPressのテーマStinger3におけるstyle.cssの修正点の備忘録

WordPressのテーマStinger3におけるスタイルシート修正(style.css)の備忘録で

記事を読む

no image

WordPress(Stinger3)の見出し2のCSSを変更する

WordPress(Stinger3)の見出し2のCSSを変更してみました。 何故変更したかと言う

記事を読む

no image

WordPressで既存の投稿(エントリー)を更新するとcron.phpの処理でタイムアウトが発生する時の対処方法

WordPressで既存の投稿(エントリー)を更新するとブラウザに以下のように表示されるようになった

記事を読む

no image

久しぶりに攻撃されました。

本当に怖い世の中になってますね。 久しぶりに攻撃されちゃいました。 古いWordPres

記事を読む

no image

ウェブマスター ツールの構造化データでauthor がありません、updated がありませんとエラーが出る。[結果報告]

前回修正したウェブマスター ツールの構造化データのエラー発生の件の結果報告をさせていただきます。

記事を読む

no image

WordPress 3.8にアップデートしました。

利用しているWordPressを3.8にアップデートしました。 利用しているテーマはStinger

記事を読む

no image

WordPress 3.9の 自動で動く「下書き保存機能」が不安定です。

WordPress 3.9に本日アップしたのですが、不安定ですね・・・ 自動で動く「下書き保存

記事を読む

no image

WordPress(Stinger3テーマ)のナビゲーションメニュー追加

テーマはStinger3を利用しています。WordPressのバージョンは3.7.1です。 ナビゲ

記事を読む

no image

WordPress利用者向けPHP入門【基本的な利用方法と変数】

WordPressのソースを読むためのPHP入門として WordPressのソースを読むために必要

記事を読む

no image

ウェブマスター ツールの構造化データでauthor がありません、updated がありませんとエラーが出る。

前々から気になっていたのですが、 「ウェブマスター ツール」の「検索デザイン」>「構造化

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑