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

Redirects to another page.


Description

Note: wp_redirect() does not exit automatically, and should almost always be followed by a call to exit;:

wp_redirect( $url );
exit;

Exiting can also be selectively manipulated by using wp_redirect() as a conditional in conjunction with the ‘wp_redirect’ and ‘wp_redirect_status’ filters:

if ( wp_redirect( $url ) ) {
    exit;
}

Parameters

$location

(Required) The path or URL to redirect to.

$status

(Optional) HTTP response status code to use. Default '302' (Moved Temporarily).

Default value: 302

$x_redirect_by

(Optional) The application doing the redirect. Default 'WordPress'.

Default value: 'WordPress'


Return

(bool) False if the redirect was canceled, true otherwise.


Source

File: wp-includes/pluggable.php

function wp_redirect($location, $status = 302) {
	global $is_IIS;

	/**
	 * Filters the redirect location.
	 *
	 * @since WP-2.1.0
	 *
	 * @param string $location The path to redirect to.
	 * @param int    $status   Status code to use.
	 */
	$location = apply_filters( 'wp_redirect', $location, $status );

	/**
	 * Filters the redirect status code.
	 *
	 * @since WP-2.3.0
	 *
	 * @param int    $status   Status code to use.
	 * @param string $location The path to redirect to.
	 */
	$status = apply_filters( 'wp_redirect_status', $status, $location );

	if ( ! $location )
		return false;

	$location = wp_sanitize_redirect($location);

	if ( !$is_IIS && PHP_SAPI != 'cgi-fcgi' )
		status_header($status); // This causes problems on IIS and some FastCGI setups

	header("Location: $location", true, $status);

	return true;
}


Changelog

Changelog
Version Description
5.4.0 On invalid status codes, wp_die() is called.
5.1.0 The $x_redirect_by parameter was added.
1.5.1 Introduced.