wp_redirect

説明

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

パラメータ

  • $locaution
    リダイレクト先URLを指定。
  • $size
    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が出力される。


使用例

  • サイトトップへリダイレクトする。
    <?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

最終更新 : 2019年03月04日 14:13



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。