[wp]home_url()の使い方

一般的な使い方の理解。

参考

公式を読めばすべてがある

テンプレートタグ/home url - WordPress Codex 日本語版

使い方メモ

トップページを出す

<?php echo esc_url( home_url() ); ?>
https://example.jp

<?php echo esc_url( home_url(‘/’) ); ?>
https://example.jp/

どっちでもいけるけどアナリティクスとかで別にカウントされることがある。

別のページを出す

<?php echo esc_url( home_url(‘/about/’) ); ?>
https://example.jp/about/

<?php echo esc_url( home_url() ); ?>/about/
https://example.jp/about/

<?php echo esc_url( home_url(‘/’) ); ?>about/
https://example.jp/about/

要はURLを出したら勝ちなんで、どれでもいいといえばいい。

ただまあ、引数に入れたほうがスッキリするよねって。

第二引数

<?php echo esc_url( home_url(‘/about/’ , ‘http’) ); ?>
http://example.jp/about/

<?php echo esc_url( home_url(‘/about/’ , ‘https’) ); ?>
https://example.jp/about/

<?php echo esc_url( home_url(‘/about/’ , ‘relative’) ); ?>
/about/

三種類ある。どれもいらないと思うんだけど、使うこともあるんでしょう。

おまけ

esc_url()は付けなくても別に大丈夫。念のためのおまじないみたいなもの。

個人的な意見として、普通に組むにあたってここで何かが起きることはまず無い。

関数リファレンス/esc url - WordPress Codex 日本語版

ちなみに

コードブロックにしてurlを打ち込んだらブログカード化して話にならなかった。

HCBに入れたらブログカードが一瞬表示されてドメインに変わってそっちも参考としておかしくなった。だから今回はコードを使わずにベタ打ち。

引数の注意

URLを出力するwpタグは色々あるんだけど、引数に入れた内容を連結するのは「home_url()の場合」ということで覚えておいた方がいい。みんなが同じ用途だと思わない方がいい。get_template_directory_uri()とかね、違う。

とはいえ引数に入れられたら便利だ、本来の使い方はしない、というかそもそもタグが長いんだよというものもある。get_template_directory_uri()とかね。そういう場合はもうそのタグは使わずに、引数を入れたら連結して出力する関数を作っちゃった方がいい。

get_template_directory_uri();って長くね?
どうもこんにちは忙しくてスタッフブログに逃げてきました塚本です! 気分転換は大事ですよね…!? 今日は闇カスタムの話をします。※ あまり参考にはなりません。 目次 1. WordPressの関数たち1.1. get_template_dir

あれば楽になるし、いっぺん組めば使い回しは効くけど凝ったことをすると汎用性を失うことがあるし、そもそもそういうのを仕込んだってのを忘れたらめんどいし、仕様書を合わせて用意しておかないと怖いかなって思う。

コメント

タイトルとURLをコピーしました