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



お勧め

4.2.3でちょっと変わったショートコード(2018年5月27日 更新)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

Gutenbergエディターのフォントを変える(2018年10月16日 更新)

Gutenbergエディターを試していてしっくりこないのが、編集時とそれを投稿した際の見た目の違い。GutenbergエディターとテーマTwenty Seventeenとではまったく異なるタイプのフォントが適用されていることが大きな理由である。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。