wp_get_referer()


WordPress関数wp_get_referer()は、現在のリクエストにリファラ(直前のページのURL)が設定されている場合、そのURLを取得します。

構文

wp_get_referer();

例1: リファラURLを取得して表示する

現在のリクエストにリファラがある場合、それを取得して表示します。

<?php
$referer = wp_get_referer();
if ( $referer ) {
    echo 'リファラURL: ' . esc_url( $referer );
}
?>

例2: リファラが特定のURLかどうかを確認する

リファラが特定のURLの場合に特定の処理を行います。

<?php
if ( wp_get_referer() === home_url( '/example-page/' ) ) {
    echo 'リファラは特定のページです。';
}
?>

例3: リファラが存在しない場合のデフォルト処理

リファラがない場合に代わりにホームページのリンクを表示します。

<?php
$referer = wp_get_referer();
if ( ! $referer ) {
    $referer = home_url();
}
echo '<a href="' . esc_url( $referer ) . '">戻る</a>';
?>

例4: リファラを使用したリダイレクト

リファラが存在する場合はそのURLにリダイレクトし、存在しない場合はデフォルトのページにリダイレクトします。

<?php
$referer = wp_get_referer();
wp_redirect( $referer ? $referer : home_url( '/default-page/' ) );
exit;
?>

例5: リファラURLの解析

リファラが特定のドメインからのものであるかどうかを確認します。

<?php
$referer = wp_get_referer();
if ( $referer && strpos( $referer, 'example.com' ) !== false ) {
    echo 'リファラは example.com からのものです。';
}
?>

注意事項

  • wp_get_referer()は、HTTP_REFERERヘッダーに依存しています。このヘッダーがクライアント側で設定されていない場合、falseを返します。

関連機能: