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
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. |