WordPressでサイトを作ってると、相対パスでURLを書く際に静的なHTMLで書いてるような「./hogehoge.html」といった書き方だと不十分です。
リンクを貼る際、「ホームへ戻る」とか「任意のページに飛ばす」といったURLを取得する方法をご紹介します。
ホームへのURLや任意のページへのURLを取得する
URLやディレクトリを取得するいろんな書き方がありますが、今回は「リンクを貼る」ためだけに必要な超簡単な一行をご紹介しますね。
ソースコードの例
<?php echo esc_url( home_url( '/' ) ); ?>
こちらが「ホームのURLを取得する」という記述です。
そのドメインのトップページに戻るURL
上記のソースを実際に使うときはHTMLのaタグを使うのが一般的ですので、例えばこんな具合に書きます。
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">ホームへ戻る</a>
delaymaniaであれば「https://delaymania.com/」というページ(ホーム)へ飛ぶリンクが「ホームへ戻る」というテキストに貼られる形です。
指定するページのURL
ホーム以外のページに飛ばしたい場合は「home_url」のところにURLのドメイン以下を入れればおっけーです。
<a href="<?php echo esc_url( home_url( '/category/wordpress/' ) ); ?>">WordPressカテゴリ</a>
上記の例であれば、「https://delaymania.com/category/wordpress/」というページに遷移します。
良くない例
<?php echo home_url(); ?>/test/
以前になにかのテーマで上記のように書かれてたのを鵜呑みにして使ってたんですが、あまり良くないそうです。
良くない理由についてはこちらの記事で詳しく書かれています。
こちらも参考になります。
最後に
URLを取得したいことって頻繁にあるのでよく使ってるんですが、その割には覚えられずにいつもコピペして使ってるので記事にまとめてみました。
WordPressに慣れ親しんでる方にとってはいまさら聞くまでもないことかと思いますが、初心者の方や僕のようにいまいち覚えきれないという方はコピペしてお使いください。