# Log Out Back to the Same Page

> Makes every "Log out" link on the front of the site return people to the page they were reading instead of the login screen.

- Type: PHP
- Runs: Run everywhere
- Category: [Login](https://wpide.com/library/category/login/)
- Tags: logout, redirect, members
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/logout-back-to-same-page/

## Code

```php
add_filter( 'logout_url', function ( $url, $redirect ) {
    if ( $redirect || is_admin() ) {
        return $url;
    }

    $current = home_url( add_query_arg( array() ) );

    return add_query_arg( 'redirect_to', rawurlencode( $current ), $url );
}, 10, 2 );

add_filter( 'logout_redirect', function ( $redirect_to, $requested ) {
    if ( ! $requested ) {
        return $redirect_to;
    }

    $post_id = url_to_postid( $requested );

    // Do not send people back to private or members-only pages.
    if ( $post_id && ( 'private' === get_post_status( $post_id ) || get_post_meta( $post_id, '_wpide_members_only', true ) ) ) {
        return home_url( '/' );
    }

    return $redirect_to;
}, 10, 2 );
```

## Notes

Pages that need a login send people to the homepage instead, so nobody lands on a locked page.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Log Out Back to the Same Page" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
