はい、タイトルだけでほぼ解決してしまっていますが、今回はWordPressで定義されている定数、「ABSPATH」についてのメモです。

初見では何者なのか全く分からなかったので。笑

目次

ABSPATHとは?

表題の通り、WordPressがインストールされているディレクトリのフルパスが代入された定数です。

もっと正確には、wp-config.phpが存在しているディレクトリまでのフルパスが代入されたものです。

注意すべき点は、末尾に/が付いているということ。

ABSPATHはどこで定義されているのか

ABSPATHが定義されている場所は、wp-config.phpです。

wp−config.phpの中を見てみると以下の様な記述があるはずです。

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
   define('ABSPATH', dirname(__FILE__) . '/');

これを見ると、「dirname(__FILE__) というものに /"を付け加えたもの」がABSPATHの正体だということがわかります。

dirname(__FILE__)とは

これはWordPressに限らずPHPではよく使う記述です。

dirname()という関数に、__FILE__という定数を指定しています。

direnameの使用形式

dirname($path,$level);

第1引数に指定したファイルパスまたはディレクトリパス( $path )を元に、第2引数で指定したレベル( $level )分だけ遡った親ディレクトリのフルパスを返します

また、第2引数$lebelの初期値は1ですので、特に指定が無ければ一つ上の親ディレクトリまでのフルパスが取得できます。

そして、__FILE__とは、自身のファイルのフルパスを返す、PHPのマジック定数の一種です。

 

つまり、dirname(__FILE__)とは、自身のフルパスから一つ遡ったディレクトリのフルパスを取得していることになります。

要するに

ABSPATHとは、「wp-config.phpが存在しているディレクトリのフルパスを返す文字列に、/がついたもの」です。

例えば「my_wordpress」というファイルにWordPressをインストールしていれば、LinuxやVPSなんかだと以下のような文字列が代入されています。

/var/www/html/.../my_wordpress/
- Thank you for reading. -

コメント

コメントする