wp_get_referer()
Retrieve referer from '_wp_http_referer' or HTTP referer.
If it's the same as the current request URL, will return false.
No Hooks.
Return
String|false
. Referer URL on success, false on failure.
Usage
wp_get_referer();
Examples
#1 Display the "Go Back" link
Suppose we in the admin panel of the site followed a link to our plugin page and we need to display a link "Back" on this page, among other things
A solution to such a problem might look like this:
<?php $return_url = wp_get_referer(); if( $return_url ){ ?> <p><a class="button" href="<?php echo esc_url( $return_url ); ?>">Return</a></p> <?php }
Here it should be noted that this link will be displayed only if the page is accessed from another page. But if on the same page, for example, you refresh the form data, the referrer will be equal to the current URL, and the "Back" link will not be displayed. In this case, in order to make the "Go Back" link work as needed, it needs to be saved somewhere when the page is first visited (e.g. in transient options) and taken from there when the URL is copied.
#2 What the function outputs
echo wp_get_referer(); // /some-page?foo=bar
Changelog
Since 2.0.4 | Introduced. |
wp_get_referer() wp get referer code WP 6.4.3
function wp_get_referer() { // Return early if called before wp_validate_redirect() is defined. if ( ! function_exists( 'wp_validate_redirect' ) ) { return false; } $ref = wp_get_raw_referer(); if ( $ref && wp_unslash( $_SERVER['REQUEST_URI'] ) !== $ref && home_url() . wp_unslash( $_SERVER['REQUEST_URI'] ) !== $ref ) { return wp_validate_redirect( $ref, false ); } return false; }