WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I try to password protect my custom page such that before any content is shown the user must enter a password. More specific, in my code below, anything inside the content-div-container should be password protected:

Template Name: custom_page

<?php get_header(); ?>
<div id="content">

  <div id="main">

<ul class="post">
        <li><b>LATEST POSTS</li>
    $args = array('category' => 5, 'post_type' =>  'post');
    $postslist = get_posts( $args );    
    foreach ($postslist as $post) :  setup_postdata($post); 
    <li id="post-<?php the_ID(); ?>">
      <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
    <?php the_excerpt(); ?>
    <?php endforeach; ?>


</div><!-- end content -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

I tried to use the approach explained here

Password protecting a page

but cannot make it work, since I do not know how to wrap my php code into the suggested solution.

share|improve this question
Please show how you tried, not what you need to get wrapped up (we don't know in detail). – kaiser Oct 5 '12 at 10:55
try condition if(is_user_logged_in()) { } for this or divert to login page if not logged in . – Vikas Gautam Sep 17 '13 at 12:24
Password protect post/page: This is built into WordPress. Just put in a password when creating the post or page. Look on the upper right hand corned on Edit Page or Edit Post > visibility > pick Password Protect. For more info, review this codex: codex.wordpress.org/Using_Password_Protection – Tara Oct 21 '13 at 0:04

When you select password protected option in page back-end, It by-default works for content only. i.e. the_content()

But if you want to password protect whole page or have a custom template, you need to have the following structure.

global $post;

if ( ! post_password_required( $post ) ) {
      // Your custom code should here
    // we will show password form here
    echo get_the_password_form();


Try using this structure

share|improve this answer

I would suggest using the Membership Plugin; it allows for users of a certain type to access to specified protected areas.

WordPress › Membership « WordPress Plugins

This can be applied to specific sections on a page.

share|improve this answer
This answer has nothing to do with post-password. – gurung Jun 15 '14 at 5:49
If you looked at the features in the Membership plugin, you would see that it makes password protected pages and sections very easy to implement based on users and user groups. – Douglas.Sesar Jun 16 '14 at 15:04
I use this plugin to solve the problem posed in the question almost exactly. I am sure it would be helpful to someone, which is my intention in posting the answer. – Douglas.Sesar Jun 16 '14 at 15:05

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.