wp_get_referer() の使い方|説明・引数・注意点

説明

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

コメント

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