今回はWordPressでサイトのトップページのURLを取得・表示する方法を解説します。
サイトのトップページのURLを取得・表示する方法
サイトのトップページのURLを取得するには以下のように書きます。
<?php $url = home_url( '/' ); ?>
home_url()
はサイトのトップページのURLを取得する関数です。
なお、この関数はURLの末尾に「/」が付かないので、引数に指定することで末尾に「/」をつけるように指定しています。基本毎回指定しておきましょう。
トップページのURLを出力するにはecho
を使えばokです。これが基本的によく使われる書き方になります。
<?php echo esc_url( home_url( '/' ) ); ?>
esc_url()
はURLにエスケープ処理を加える関数です。万が一URLに不適切な文字列があるとまずいのでこの関数で無害化しておくと安全です。これも毎回指定しておくといいですね。
サイトのトップページ以外のURLを表示する方法
他のページのURLを出力したい時はhome_url()
の引数にその後のURLを指定するとそのページのURLを出力できます。
<?php echo esc_url( home_url( '/news/' ) ); ?>
上記のように指定すると「https://hogehoge.com/news/」といった感じで出力されます。他のページのURLを直接指定するときに使いやすいですね。
トップページを取得する際の注意点
bloginfo( ‘home’ )は廃止されている
古い記事ではbloginfo( 'home' )
でも出力できると書いてあるかもしれませんが、これはすでにWordPressのバージョン2.2で廃止されています。
bloginfo()
はbloginfo( 'name' )
でサイト名を出力したり、bloginfo( 'description' )
でサイトのディスクリプションを出力する関数なので、トップページのURLの取得には使わないようにしましょう。
site_url()との違いに注意
今回紹介したhome_url()
とよく似ているsite_url()
という関数があります。
ですが、基本的にトップページのURLやそれ以下のURLを取得したい時はhome_url()
を使います。
両者の違いについては以下の記事で解説しているので気になる人は見てみてください。
>>WordPressのhome_url()とsite_url()の違いを調べてみた