
Web サイトを作ったりカスタマイズをしていると、色々なページの URL を取得したいことがよくある。

このページへのリンク付けたいなー、とかよくあるよね。

ワードプレスには URL 情報を取得するための色々な関数があらかじめ用意されておる。それを知っておくと、とても便利じゃぞ。

そんなのあるなら、もっと早く知りたかったな・・・。
URL を取得する関数
| 関数名 | 内容 | 取得したURL例 |
|---|---|---|
| home_url() | ホーム URL を取得する(管理画面 → [一般] → [設定]の「サイトアドレス」) | http://example.jp |
| site_url() | サイト URL を取得する(管理画面 → [一般] → [設定]の「WordPress アドレス」) | http://example.jp |
| get_template_directory_uri() | テンプレートディレクトリの URI を取得する(子テーマを使用している場合、親テーマのディレクトリの URI を取得する) | http://example.jp/wp-content/themes/twentysixteen |
| get_stylesheet_directory_uri() | テンプレートディレクトリの URI を取得する(子テーマを使用している場合、子テーマのディレクトリの URI を取得する) | http://example.jp/wp-content/themes/twentysixteen-child |
| get_stylesheet_uri() | 現在のテーマで使われているスタイルシートの URI を取得する | http://example.jp/wp-content/themes/twentysixteen/style.css |
| admin_url() | 現在のサイトの管理画面 URL を取得する | http://example.jp/wp-admin/ |
| includes_url() | 現在のサイトの wp-includes ディレクトリの URL を取得する | http://example.jp/wp-includes/ |
| content_url() | 現在のサイトの wp-content ディレクトリの URL を取得する | http://example.jp/wp-content |
| plugins_url() | 現在のサイトのプラグインディレクトリの URL を取得する | http://example.jp/wp-content/plugins |
| get_theme_root_uri() | 現在のサイトのテーマディレクトリの URL を取得する | http://example.jp/wp-content/themes |
| wp_upload_dir() | 現在のサイトのアップロードディクレトリのパスと URL を入れた配列を取得する | Array ( "path" => "/app/public/wp-content/uploads/2019/07", "url" => "http://example.jp/wp-content/uploads/2019/07", "subdir" => "/2019/07", "basedir" => "/app/public/wp-content/uploads", "baseurl" => "http://example.jp/wp-content/uploads", "error" => "" ) |
URL 取得時に組み合わせると便利な関数
前述のように、関数によっては取得した URL 文字列の最後に「/」(スラッシュ)が付いたり付かなかったりします。
trailingslashit() は引数に渡された文字列の最後に「/」を付けて返す、また untrailingslashit() は引数に渡された文字列の最後から「/」を除いて返す関数です。
$url = trailingslashit( home_url() ); // http://example.jp/ が取得できる $url = untrailingslashit( admin_url() ); // http://example.jp/wp-admin が取得できる
必要に応じてこれらの関数も組み合わせて使うと、より柔軟に欲しい形式で URL を取得することができるでしょう。

