説明
wp_get_referer() は、直前のページのURLを取得する関数です。
基本構文
wp_get_referer(): string|false
引数
引数はありません。
戻り値
リファラーのURL。取得できなければ false。
使い方(サンプル)
$back = wp_get_referer();
注意点
- リファラーは偽装できるため、セキュリティ判定には使いません。
実務での使いどころ
- フォームの送信後に、元のページへ戻すとき。
- リダイレクトの戻り先を、決めるとき。
よくあるミスと対処
- 戻り値を、そのまま信頼している。リファラーは、偽装できる。リダイレクトに使うときは、
wp_safe_redirect()を使う。 - リファラーが取得できない場合(
false)を、考えていない。 - 現在のURLと同じ場合に、
falseが返ることを、知らない。
NG例
wp_redirect( wp_get_referer() ); // false のとき、移動先がない(外部サイトのリファラーも、false になる)
OK例
$back = wp_get_referer();
wp_safe_redirect( $back ? $back : home_url( '/' ) );
exit;
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_get_referer() |
直前のページのURLを取得する |
wp_safe_redirect() |
許可されたホストへ、リダイレクトする |
wp_redirect() |
任意のURLへ、リダイレクトする |
関連項目
wp_redirect()、wp_safe_redirect()
公式リファレンス:wp_get_referer() | Function | WordPress Developer Resources

コメント