# Require Login for Selected Pages

> Sends visitors who are not logged in to the login screen when they open the pages you list, and brings them back to the page after they log in.

- Type: PHP
- Runs: Run everywhere
- Category: [Redirects](https://wpide.com/library/category/redirects/)
- Tags: login, members, pages
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/require-login-for-selected-pages/

## Code

```php
// IDs of the pages that need a login.
$wpide_protected_page_ids = array( 0 );

add_action( 'template_redirect', function () use ( $wpide_protected_page_ids ) {
    if ( is_user_logged_in() || ! is_singular() ) {
        return;
    }

    if ( in_array( get_queried_object_id(), array_map( 'absint', $wpide_protected_page_ids ), true ) ) {
        wp_safe_redirect( wp_login_url( get_permalink( get_queried_object_id() ) ) );
        exit;
    }
} );
```

## Notes

List page or post IDs. Child pages are not included automatically.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Require Login for Selected Pages" 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/
