WordPressで色々なURLを取得できる便利な関数

WordPressで色々な関数を取得できる便利な関数
先生

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 を取得することができるでしょう。

参考URL