wp-load.php


<?php
/**
 * Bootstrap file for setting the ABSPATH constant
 * and loading the wp-config.php file. The wp-config.php
 * file will then load the wp-settings.php file, which
 * will then set up the WordPress environment.
 *
 * If the wp-config.php file is not found then an error
 * will be displayed asking the visitor to set up the
 * wp-config.php file.
 *
 * Will also search for wp-config.php in WordPress' parent
 * directory to allow the WordPress directory to remain
 * untouched.
 *
 * @internal This file must be parsable by PHP4.
 *
 * @package WordPress
 * 
 * [日本語]
 * ABSPATH定数を設定しwp-config.phpファイルを読み込むブートストラップファイルです。
 * wp-config.phpファイルでは、wp-settings.phpを読み込んでおり、そこからWordPress環境
 * を構築していきます。
 * 
 * もし、wp-config.phpが見つからないならば、エラーを表示しwp-config.phpファイルを
 * 構築するかアクセスした人に尋ねます。
 * 
 * また、WordPressディレクトリには手をつけないままの場合もあるので親ディレクトリにwp-config.php
 * がないか探しにいきます。
 */

/** Define ABSPATH as this file's directory 
 * 
 * [日本語]
 *  このファイルのあるディレクトリをABSPATHとして定義する。
 */
define( 'ABSPATH', dirname(__FILE__) . '/' );

/**
 * [error_reporting — 出力する PHP エラーの種類を設定する]
 *   E_CORE_ERROR        PHPの初期始動時点での致命的なエラー
 *   E_CORE_WARNING     (致命的ではない)警告
 *   E_COMPILE_ERROR     コンパイル時の致命的なエラー
 *   E_ERROR             重大な実行時エラー
 *   E_WARNING           実行時の警告 (致命的なエラーではない)。スクリプトの実行は中断されません。
 *   E_PARSE             コンパイル時のパースエラー
 *   E_USER_ERROR        ユーザーによって発行されるエラーメッセージ
 *   E_USER_WARNING      ユーザーによって発行される警告メッセージ
 *   E_RECOVERABLE_ERROR キャッチできる致命的なエラー
 */
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );

/**
 * (1)このファイルと同じディレクトリにwp-config.phpファイルがある場合
 */
if ( file_exists( ABSPATH . 'wp-config.php') ) {

	/** The config file resides in ABSPATH */
	require_once( ABSPATH . 'wp-config.php' );
}
/**
 * (2)この階層より1つ上の親ディレクトリにwp-config.phpがあり 且つ その親ディレクトリにwp-settings.phpはない場合
 */
elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {

	/** 
         * The config file resides one level above ABSPATH but is not part of another install 
         * 
         * [日本語]
         *  configファイルはABSPATHの1つ上の階層に存在するが、インストールする別ファイルではない。
         */
	require_once( dirname(ABSPATH) . '/wp-config.php' );
} 
/**
 * 上記(1)と(2)以外の場合
 */
else {
	// A config file doesn't exist

        /**
         * Set a path for the link to the installer
         * 
         * [日本語]
         *   インストーラにリンクのためのパスを設定する
         */
    
        /** 現在実行しているスクリプトのファイル名(パス付き)にwp-adminが含まれていない場合 */
	if ( strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false )
		$path = 'setup-config.php';
	/** 現在実行しているスクリプトのファイル名(パス付き)にwp-adminが含まれている場合 */
        else
		$path = 'wp-admin/setup-config.php';

	define( 'WPINC', 'wp-includes' );
	define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
	require_once( ABSPATH . WPINC . '/load.php' );
	require_once( ABSPATH . WPINC . '/version.php' );

        /**
         * PHPやMySQLのバージョンをチェックし、システム要件を満たさなければ処理中断する
         */
	wp_check_php_mysql_versions();
        
        /**
         * 翻訳ファイルを初期読み込みする
         */
	wp_load_translations_early();

	require_once( ABSPATH . WPINC . '/functions.php' );

	// Die with an error message
        /** wp-config.phpがない旨のメッセージを作成 */
	$die  = __( "There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started." ) . '</p>';
	$die .= '<p>' . __( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ) . '</p>';
	$die .= '<p>' . __( "You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file." ) . '</p>';
	$die .= '<p><a href="' . $path . '" class="button button-large">' . __( "Create a Configuration File" ) . '</a>';

	wp_die( $die, __( 'WordPress &rsaquo; Error' ) );
}


コメントを残す

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