002
サイトのURLを取得・出力する
Library
サイトのURLを取得するには、home_url()
を使用します。似たような関数にsite_url()
があるので注意してください。
用例 |
|
---|---|
関連 | |
Codex |
サイトのURLを取得する
サイトのURLを取得するには次のようにします。
<?php $url = home_url(); ?>
この関数はURLを文字列として返すだけなので、出力するにはecho
する必要があります。たとえばサイト名にトップページへのリンクを付けるには、次のように実装します。
<h1>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
<?php bloginfo( 'name' ); ?>
</a>
</h1>
2行目が実際にURLを出力している箇所です。home_url()
はURLの最後にスラッシュを付けませんので、home_url( '/' )
とすることでスラッシュを付加しています。また、タグの属性として不適切な文字列が入らないよう、esc_url()
を用いてURLを無害化しています。href
属性をPHPで生成するときは、常にesc_url()
を使うことをおすすめします。
また、3行目のbloginfo( 'name' )
はサイトのタイトルを出力する命令です。
廃止された取得方法bloginfo( 'home' )
以前はサイトのURLを出力するのに、bloginfo( 'home' )
を使用していましたが、この使い方は廃止されましたので注意してください。bloginfo()
そのものはサイトのタイトルやキャッチフレーズを取得する使い道で、現在も有効です。
トップページ以外のURLを取得する
トップページ以外のURLを取得するには、home_url()
に引数を渡すことで実現できます。
<?php $about_url = home_url( '/about/' ); ?>
こうすると、たとえば’http://sample-site.com/about/’のようなURLを取得することができます。
似た関数site_url()
に注意
home_url()
がトップページのURLを返すのに反し、site_url()
はWordPressがインストールされている場所を返します。これらは同一の場所を指し示す場合もありますが、WordPressをサブフォルダなどの別の場所にインストールしている場合は一致しません。
Comment