wp_redirect()


WordPressのwp_redirect()関数は、ユーザーを指定したURLにリダイレクトするために使用されます。この関数は、特定の条件に基づいてユーザーを別のページに誘導する際に役立ちます。

構文

wp_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' );

引数の説明:

  • $location (string) — リダイレクト先のURLを指定します。
  • $status (int) — リダイレクトのHTTPステータスコードを指定します。デフォルトは302です。
  • $x_redirect_by (string) — リダイレクトを実行した主体を指定します。デフォルトは’WordPress’です。

例1: 基本的なリダイレクト

この例では、ユーザーを指定したURLにリダイレクトします。

<?php wp_redirect('https://example.com'); exit; ?>

例2: カスタムステータスコードを使用したリダイレクト

この例では、HTTPステータスコード301を使用してリダイレクトします。

<?php wp_redirect('https://example.com', 301); exit; ?>

例3: 条件付きリダイレクト

特定の条件が満たされた場合にリダイレクトを行います。

<?php if (is_user_logged_in()) { wp_redirect('https://example.com/members'); exit; } ?>

例4: ログアウト後のリダイレクト

ユーザーがログアウトした後に特定のページにリダイレクトします。

<?php wp_logout(); wp_redirect('https://example.com/logout-success'); exit; ?>

例5: 投稿が存在しない場合のリダイレクト

投稿が存在しない場合に404ページにリダイレクトします。

<?php if (!have_posts()) { wp_redirect(home_url('/404')); exit; } ?>

例6: カスタムリダイレクトヘッダーの使用

リダイレクトの主体をカスタマイズします。

<?php wp_redirect('https://example.com', 302, 'Custom Redirect'); exit; ?>

例7: ログインページへのリダイレクト

ユーザーがログインしていない場合にログインページにリダイレクトします。

<?php if (!is_user_logged_in()) { wp_redirect(wp_login_url()); exit; } ?>

例8: カスタムクエリパラメータを使用したリダイレクト

クエリパラメータを追加してリダイレクトします。

<?php wp_redirect(add_query_arg('redirected', 'true', 'https://example.com')); exit; ?>

注意点

  • wp_redirect()を使用する際は、必ずexit;またはdie();を後に記述して、スクリプトの実行を終了させてください。
  • リダイレクトを行う前に出力が行われていると、ヘッダーが既に送信されているためエラーが発生する可能性があります。

関連機能: