WordPressにてaタグなどに対してURLを出力する際、HTMLのように相対パスで指定すると無効なURLとなってしまうため、絶対パスで出力する必要があります。
本記事では、aタグのリンクに対するパスやimgで指定する画像のパスなどに対してよく使用するURL出力関数を紹介及び解説していきます。
目次
get_template_directory_uri()
有効化しているテーマのディレクトリのURIを取得します。
ただし、末尾にスラッシュ( / )は含まれないので、続きを記述する際はスラッシュ( / )から記述しましょう。
URIとは?
出力例
コード
<?php echo get_template_directory_uri(); ?>
結果
有効化しているテーマがtest
という名前なので、画像のようなリンクが出力されます。リンク上の「test」の部分は、有効化しているテーマの名前の文字になります。
使用例:任意の画像を読み込む
コード
<img src="<?php echo get_template_directory_uri(); ?>/img/sample.jpg" alt="">
imgのパスには絶対パスで指定する必要があるので、特定の画像を出力したい時のパス合わせに使用します。
その他にも、functions.php
でcssファイルを読み込む際などにも使用します。
出力されるHTML
<img src="http://debug.local/wp-content/themes/test/img/sample.jpg" alt="">
今回は、関数単体の解説だったので「エスケープ処理」について触れていませんが、実際に使用する際は、エスケープ処理を行う必要があります。詳しくはこちらの記事をご覧ください。
home_url()
現在のサイトのホームURLを取得します。
パラメータにホームURLからの相対パスを指定することができます。
出力例
コード
<?php echo home_url(); ?>
結果
使用例:トップページのURLを指定する
コード
<a href="<?php echo home_url(); ?>">トップ</a>
トップページはサイトのトップのURLになるので、パラメータ(引数)に何かを指定する必要はありません。
出力されるHTML
<a href="http://debug.local">トップ</a>
使用例:下層ページのURLを指定する
コード
<a href="<?php echo home_url('/service'); ?>">サービス</a>
http://debug.local/service
にサービスページがある想定でリンクの紐付けをしてみましょう。上記のコードのようにパラメータ(引数)に’/service’
を指定します。
出力されるHTML
<a href="http://debug.local/service">サービス</a>
home_url()
もエスケープ処理が必要な関数です。
まとめ
本記事で紹介した関数は、タイトルの通り "よく使用する関数" になるので、書き方や出力結果を押さえておきましょう。
記事中にも挟みましたが、これらはエスケープ処理が必須の関数です。実際の使い方としては、以下の記事の内容にあるようなプラスアルファの知識が必要になります。