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