wp_redirect

説明

bool wp_redirect( string $locaution [ , int $status = 302 [ , string $x_redirect_by = 'WordPress' ] ] )
指定されたURLへリダイレクトする。

パラメータ

  • $locaution
    リダイレクト先URLを指定。
  • $status
    HTTPステータスを指定(省略時は302)。
  • $x_redirect_by
    [5.1.0]ヘッダーX-Redirect-Byの値を指定(省略時は'WordPress')。

返り値

リダイレクトした場合はtrueを、$locautionのURLが無効の場合はfalseを返す。


注意

リダイレクトはphpのheader関数を使用。IISの場合($is_IISがtrue)は"Refresh: 0;url=$locaution"を、それ以外は"Locatoin: $locaution"を使用する。

[5.1.0]パラメータ$x_redirect_byと'x_redirect_by'フィルターが追加された。'x_redirect_by'フィルターの返り値が文字列の場合、リダイレクトする前にヘッダーX-Redirect-Byが出力される。

[5.4.0]パラメータ$statusが300未満か400以上の場合は、リダイレクトせずに wp_die関数を呼ぶ。


使用例

  • サイトトップへリダイレクトする。
    <?php wp_redirect( get_site_url(), 302 ); ?>

フィルター

[2.1.0]最初にwp_redirectフィルターを実行する。$locaution$statusには本関数のパラメータの値が入る。
$locaution = apply_filters( 'wp_redirect', $locaution, $status );
[2.3.0]wp_redirectフィルターの実行後、wp_redirect_statusフィルターを実行する。$statusには本関数の同名のパラメータが、$locautionにはwp_redirectフィルターの戻り値が入る。
$status = apply_filters( 'wp_redirect_status', $status, $locaution );
[5.1.0]リダイレクトする前に'x_redirect_by'フィルターを呼び出す。パラメータ$x_redirect_byには本関数が受け取った内容が、$status$locationには上記のフィルターで処理した内容が格納されている。
$x_redirect_by = apply_filters( 'x_redirect_by', $x_redirect_by, $status, $location );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/pluggable.php

最終更新 : 2020年04月07日 11:41



お勧め

個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)

先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。

決まった値を返すだけの関数群(2018年5月27日 更新)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)

ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。

Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)

Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。

favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)

先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。