WordPressでルートディレクトリを取得したいと思って調べてみると、`ABSPATH` や `get_home_path()`、`home_url()`、`site_url()` など似た名前がたくさん出てきて、どれを使えばよいのか迷いやすいですよね。
実はこの悩みは、URLとサーバーパスの違い、そしてWordPress本体の場所とサイト公開URLの違いを整理するとスッと解決しやすくなります。
この記事では、WordPressのルートディレクトリを取得する代表的な方法を、初心者さんにもわかりやすくやさしい言葉で解説しました。
「結局どれを使えばいいのか」がひと目でわかるように、用途別の使い分けやコピペで使えるコード例もまとめています。
さらに、間違えやすい `home_url()` と `site_url()` の違いや、関連するパス・URL取得関数まで整理しているので、今後のカスタマイズにも役立てやすい内容です。
「何となく使っていた」を卒業したい方は、ぜひこのまま読み進めてみてください。
この記事でわかること
- WordPressのルートディレクトリを取得する基本的な方法
- ABSPATHとget_home_path()の違い
- home_url()とsite_url()の違いと使い分け
- 関連するパス・URL取得関数の覚え方
WordPressのルートディレクトリ取得はまず結論から押さえよう
WordPressでルートディレクトリを取得したいときは、「何を取得したいのか」を先に整理することがいちばん大切です。
なぜなら、WordPressではURLとサーバー上の絶対パスが別物だからです。
ここをあいまいにしたまま調べ始めると、home_url()でパスが取れると思っていた、ABSPATHとget_home_path()が同じだと思っていた、といった混乱につながりやすくなります。
先に結論をお伝えすると、サーバー上のルートディレクトリの絶対パスを確認したいなら `get_home_path()` か `ABSPATH` を候補にするのが基本です。
一方で、ブラウザで開くURLを知りたいなら `home_url()` や `site_url()` を使います。
つまり、検索キーワードの「wordpress ルート ディレクトリ 取得」で本当に知りたいことは、単に関数名の一覧ではなく、目的に応じた正しい選び方だと考えられます。
WordPress公式では `get_home_path()` は「WordPressインストールのルートへの絶対ファイルシステムパスを取得する関数」とされており、`home_url()` はフロントエンド側のURL、`site_url()` は WordPress 本体ファイルにアクセスできるURLを返す関数です。
この違いを最初に理解しておくと、後のコード選びがぐっと楽になります。
ルートディレクトリを取得したいなら何を使うべきか
最初に押さえたいのは、「ルートディレクトリ」という言葉が文脈によって少しズレることです。
WordPress本体の置き場所を指しているのか、サイト公開の起点ディレクトリを指しているのかで、適した取得方法が変わることがあります。
一般的なWordPress記事では、`ABSPATH` が「WordPressのルートディレクトリ」として扱われることが多いです。
ただし、運用によっては「WordPressはサブディレクトリに置いているが、サイトURLはドメイン直下」という構成もあります。
そのため、単純に定数だけ見て判断すると、思っていた場所と違うと感じることがあります。
そんなときに判断軸になるのが、取得したいのがファイルパスなのかURLなのか、そしてWordPress本体の位置を知りたいのか公開側の位置を知りたいのかです。
ABSPATHとget_home_path()の違い
`ABSPATH` はWordPressで広く知られた定数で、WordPressの絶対パスを示す場面でよく使われます。
すでに定義されているため、シンプルに扱いやすいのが魅力です。
ただし、参考記事でも触れられているように、テーマやプラグインで定数を直接多用するのは推奨文脈ではないことがあります。
一方の `get_home_path()` は、WordPress公式の関数として絶対ファイルシステムパスを取得できます。
こちらは用途がより明確で、説明もしやすいため、初心者向けの記事ではとても扱いやすい関数です。
ただし、使用する場面によっては `require_once ABSPATH . ‘wp-admin/includes/file.php’;` の読み込みが必要です。
この前提を書かずにサンプルだけ載せると、そのまま貼って動かないケースが出るので注意したいところです。
URL取得とパス取得を混同しないことが重要
WordPress初心者さんがいちばんつまずきやすいのは、`home_url()` や `site_url()` で返る値をサーバーパスだと考えてしまうことです。
たとえば `https://example.com/` はURLであって、`/home/ユーザー名/public_html/` のようなサーバーパスではありません。
見た目が「サイトの場所」に見えるので混同しやすいのですが、役割はまったく違います。
この違いが整理できるだけで、ルートディレクトリ取得の悩みはかなり解消します。
まずは、「URLを知りたいのか」「フォルダの場所を知りたいのか」を分けて考えてみてください。
WordPressでルートディレクトリを取得する代表的な方法
ここからは、実際にWordPressでルートディレクトリを取得するときによく使われる方法を、初心者さんにもわかりやすく整理していきます。
参考記事は取得方法を幅広くまとめていて便利ですが、実務では「何となく知っている」よりも、どの場面でどれを選ぶかが重要になります。
この章では、まず代表的な3つの考え方を見ていきましょう。
ABSPATHで取得する方法
`ABSPATH` は、WordPressの絶対パスを表す定数として最もよく見かける存在です。
たとえば、WordPressが `/var/www/html/wordpress/` にインストールされていれば、そのような絶対パスが入ります。
コードも短く、確認だけならとても簡単です。
<?php
echo ABSPATH;
手軽に使えるので、簡易確認や条件分岐では今でもよく登場します。
ただし、記事としては「ABSPATHは便利だが、目的によっては関数のほうが意図が伝わりやすい」と補足しておくと親切です。
get_home_path()で取得する方法
ルートディレクトリ取得をより明確に書きたいなら、`get_home_path()` が有力です。
WordPress公式リファレンスでも、WordPressインストールのルートへの絶対ファイルシステムパスを取得する関数として説明されています。
そのため、今回のキーワードにもっとも素直に答えやすい方法のひとつと言えます。
ただし、この関数は状況によって `wp-admin/includes/file.php` を読み込んでから使う必要があります。
安全に書くなら、次の形にしておくと安心です。
<?php
require_once ABSPATH . 'wp-admin/includes/file.php';
echo get_home_path();
本番サイトで使う場合は、画面表示よりもログや一時確認用に留めるほうが実務向きです。
site_url()やhome_url()が返すもの
`site_url()` や `home_url()` は、ルートディレクトリの「パス」を返す関数ではありません。
返ってくるのはURLです。
`home_url()` はサイトのフロント側のURL、`site_url()` は WordPress コアファイルが置かれている位置のURLを返します。
たとえば、公開URLは `https://example.com/` でも、WordPress本体が `https://example.com/wp/` にあるような構成では、この2つの戻り値が変わることがあります。
この差を知らずに使うと、リンク生成では動くのに、ファイル操作では使えないという状態になってしまいます。
| 取得方法 | 返るもの | 向いている用途 |
|---|---|---|
| ABSPATH | 絶対パス | 簡易確認、定数ベースの処理 |
| get_home_path() | 絶対パス | ルートディレクトリ取得を明示したいとき |
| home_url() | URL | サイトの公開URLを取得したいとき |
| site_url() | URL | WordPress本体側のURLを取得したいとき |
この表だけ覚えておくだけでも、かなり迷いにくくなります。

目的別に見るおすすめの取得方法
ここでは、実際の作業シーンごとに「どれを選ぶと失敗しにくいか」を整理します。
WordPressの関数は数が多く、一覧だけ見ても選びづらいものです。
ですが、用途別に考えるとかなりシンプルになります。
テーマやプラグイン内で安全に扱いたい場合
テーマやプラグインで「この処理はどのディレクトリを基準に動くのか」を明確にしたいときは、専用関数や専用のディレクトリ関数を優先する考え方が安心です。
たとえばテーマ内なら `get_template_directory()` や `get_stylesheet_directory()`、プラグインなら `plugin_dir_path( __FILE__ )` のように、目的に合った関数を使うほうが読みやすくなります。
ルートディレクトリを起点に無理に組み立てるより、必要な場所を直接取るほうが保守もしやすいです。
つまり、「ルートディレクトリを取得したい」のではなく「テーマの場所を取得したい」のであれば、最初から専用関数を使うのがおすすめです。
管理画面まわりや.htaccessを扱う場合
.htaccess や `web.config` のように、サイト公開の起点に近い場所を扱う場合は `get_home_path()` が役立ちます。
WordPress公式の関連コードでも、リライトルール保存時に `get_home_path()` を使って `.htaccess` へのパスを組み立てている例があります。
そのため、「公開側のルート付近を扱う処理」では `get_home_path()` の考え方がなじみやすいです。
ただし、実ファイルを操作する処理は本番環境で影響が大きいため、テスト環境やバックアップ前提で扱うのが基本です。
URLではなくサーバーパスが必要な場合
画像の保存先を組み立てたい、テンプレートファイルの存在確認をしたい、サーバー上のファイルにアクセスしたい、といった場面ではURLではなくサーバーパスが必要です。
このとき `home_url()` を使ってしまうと、ブラウザ向けのURLしか返らないため期待通りに動きません。
ファイル操作系なら `ABSPATH` や `get_home_path()`、テーマやアップロード先ならそれぞれ専用のパス取得関数を使うのが基本です。
「ブラウザで開く場所」なのか「サーバーの中の場所」なのかを分けて考えるだけで、コードの精度が上がります。
WordPressのルートディレクトリ取得でよくある間違い
ここでは、検索ユーザーさんが引っかかりやすいポイントをまとめます。
この部分を丁寧に書いておくと、記事の満足度が上がりやすくなります。
home_url()をパスだと思ってしまう
もっとも多いのが、`home_url()` を使えばルートディレクトリの場所が取れると思ってしまうケースです。
ですが、`home_url()` が返すのはフロントエンドのURLです。
たとえば `https://example.com/` はブラウザでアクセスする住所のようなもので、サーバー内部の `/home/xxx/public_html/` とは別物です。
URLとパスの違いがわからないまま調べると、記事同士で説明がずれて見える原因にもなります。
まずはこの違いを整理するだけで、理解しやすさが大きく変わります。
site_url()とhome_url()の違いを見落とす
`site_url()` と `home_url()` は似ていますが、同じ意味ではありません。
公式では `site_url()` は WordPress アプリケーションファイルにアクセスできるURL、`home_url()` はフロント側の公開URLです。
通常の構成では同じになることもありますが、サブディレクトリ設置や特殊な運用では差が出ます。
そのため、記事では「普段は同じに見えることがあるけれど、意味は違う」とやさしく書いておくと親切です。
サブディレクトリ設置時の挙動を誤解する
WordPressは、サブディレクトリに本体を置きつつ、サイトはドメイン直下で表示する運用ができます。
この場合、見た目のURLと実際の本体配置が一致しないことがあります。
その結果、`site_url()` と `home_url()` が異なる、あるいは「ルートディレクトリ」が何を指すのか迷いやすくなります。
だからこそ、記事内では「インストール先の絶対パス」と「公開URL」は別に考えると明記しておくことが大切です。
初心者向けの記事ほど、この補足があるだけでかなり読みやすくなります。
コピペで使えるWordPressのルートディレクトリ取得コード例
ここでは、実際に使いやすいコード例をまとめます。
そのまま確認しやすい形で置いておくと、読者さんがすぐ試せるので実用性が高まります。
そのまま使いやすい基本コード
まずはもっともシンプルな確認コードです。
<?php
echo ABSPATH;
ひとまずWordPress本体の絶対パスを確認したいだけなら、これで十分なこともあります。
ただし、説明文では「環境によっては表示ではなくログ確認向き」と添えておくと、より実務的です。
次に、関数としてルートディレクトリを取得したい場合はこちらです。
<?php
require_once ABSPATH . 'wp-admin/includes/file.php';
echo get_home_path();
今回のキーワードにもっとも素直に答えるコード例として、こちらを主軸に置くのがおすすめです。
条件に応じて使い分けるコード
URLが欲しいだけなら、次のように使い分けます。
<?php
echo home_url('/');
echo site_url('/');
この2つは見た目が似ていますが、公開URLとWordPress本体URLという役割の違いがあります。
記事では、同じセクションに並べて「パスではなくURLです」と補足すると誤解が減ります。
テーマディレクトリを取りたいなら、こちらのほうが適切です。
<?php
echo get_template_directory();
echo get_stylesheet_directory();
親テーマと子テーマで返り値が変わる可能性があるため、用途に応じて選びましょう。
デバッグ時に確認したい出力例
読者さんがイメージしやすいように、出力例も載せておくと親切です。
| コード | 出力イメージ |
|---|---|
| ABSPATH | /home/example/public_html/wordpress/ |
| get_home_path() | /home/example/public_html/wordpress/ |
| home_url(‘/’) | https://example.com/ |
| site_url(‘/’) | https://example.com/wordpress/ |
もちろん実際の値は環境によって異なりますが、このように並べておくと違いが直感的に伝わります。

WordPressであわせて覚えたい関連パス・URL取得関数
ルートディレクトリだけでなく、関連する取得関数もまとめて理解しておくと、今後の作業がぐっと楽になります。
参考記事が支持されている理由のひとつも、この「まとめて見られる便利さ」にあります。
そこでこの章では、よく使う関数を用途別に整理します。
コンテンツ・テーマ・プラグインの取得方法
WordPressでは、`WP_CONTENT_DIR` や `WP_PLUGIN_DIR` といった定数、さらにテーマ系の関数が用意されています。
テーマURLなら `get_template_directory_uri()` や `get_stylesheet_directory_uri()`、テーマのパスなら `get_template_directory()` や `get_stylesheet_directory()` が代表的です。
親テーマ基準か子テーマ基準かで返り値が変わるものもあるので、用途を揃えて使うことが大切です。
uploadsディレクトリの取得方法
アップロード先を扱うなら `wp_upload_dir()` が便利です。
この関数は単なる文字列ではなく、パスやURLを含む配列を返します。
そのため、「保存先のパス」と「公開URL」を同時に扱いたいときに向いています。
ルートディレクトリ取得の記事の中でも、この関数を関連知識として載せておくと実用性が高まります。
よく使う関数を一覧で比較
| 関数・定数 | 取得できるもの | 種類 |
|---|---|---|
| ABSPATH | WordPress本体の絶対パス | パス |
| get_home_path() | ルートの絶対パス | パス |
| home_url() | サイトの公開URL | URL |
| site_url() | WordPress本体のURL | URL |
| content_url() | wp-content のURL | URL |
| get_template_directory() | テーマの絶対パス | パス |
| get_stylesheet_directory() | 現在のテーマまたは子テーマの絶対パス | パス |
| wp_upload_dir() | uploads のパスとURL | 配列 |
このように整理しておくと、読者さんが「次に知りたいこと」まで自然にたどり着けます。
単にルートディレクトリ取得だけで終わらせず、関連知識まで広げることで、記事全体の満足度も高まりやすくなります。
まとめ
WordPressのルートディレクトリ取得で迷ったら、まず「URLが欲しいのか、パスが欲しいのか」を切り分けることが大切です。
パスを知りたいなら `ABSPATH` や `get_home_path()`、URLを知りたいなら `home_url()` や `site_url()` という基本を押さえるだけで、かなり混乱しにくくなります。
とくに初心者さんは、`home_url()` と `site_url()`、`ABSPATH` と `get_home_path()` の違いを一度整理しておくと、今後のテーマ編集やプラグイン開発、デバッグ作業でも役立ちます。
記事全体を通して大切なのは、同じ「場所」を表しているように見えても、WordPressでは返り値の意味が違うという点です。
ここを正しく理解しておけば、必要なコードを迷わず選べるようになります。
この記事のポイントをまとめます。
- WordPressのルートディレクトリ取得ではURLとパスを分けて考える
- ABSPATHはWordPress本体の絶対パス確認に便利
- get_home_path()はルートの絶対ファイルパス取得として使いやすい
- get_home_path()は利用場面によって読み込みが必要になる
- home_url()はサイト公開側のURLを返す
- site_url()はWordPress本体側のURLを返す
- サブディレクトリ設置ではhome_url()とsite_url()が異なることがある
- ファイル操作ではURLではなく絶対パスが必要になる
- テーマやuploadsは専用関数を使うほうがわかりやすい
- 一覧ではなく用途別に覚えると実務で迷いにくい
WordPressのパス取得は、一見すると似た関数が多くてややこしく感じやすいテーマです。
でも、ひとつひとつの役割を整理してみると、選び方はとてもシンプルです。
今回ご紹介した内容をベースに、まずはご自身の環境で `ABSPATH` と `get_home_path()`、そして `home_url()` と `site_url()` の違いを見比べてみてください。
その確認だけでも理解が深まり、テーマ編集やカスタマイズの判断がぐっとしやすくなります。

