Proteger con Contraseña una Página Personalizada
Intento proteger con contraseña mi página personalizada de manera que antes de mostrar cualquier contenido, el usuario deba ingresar una contraseña. Más específicamente, en mi código siguiente, cualquier cosa dentro del contenedor content-div debería estar protegido con contraseña:
<?php
/*
Template Name: custom_page
*/
?>
<?php get_header(); ?>
<div id="content">
<div id="main">
<ul class="post">
<li><b>ÚLTIMAS ENTRADAS</li>
<?php
$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(); ?>
</li>
<?php endforeach; ?>
</ul>
</div><!-- fin del contenido -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Intenté usar el enfoque explicado aquí
Proteger una página con contraseña
pero no puedo hacer que funcione, ya que no sé cómo envolver mi código PHP en la solución sugerida.

Cuando seleccionas la opción de protección con contraseña en el back-end de la página, por defecto solo funciona para el contenido, es decir, the_content().
Pero si quieres proteger con contraseña toda la página o tener una plantilla personalizada, necesitas usar la siguiente estructura.
<?php
global $post;
get_header();
if ( ! post_password_required( $post ) ) {
// Tu código personalizado debe ir aquí
}else{
// mostramos el formulario de contraseña aquí
echo get_the_password_form();
}
?>
Prueba usando esta estructura

Te recomendaría usar el Plugin de Membresía; permite que usuarios de un determinado tipo accedan a áreas protegidas específicas.
WordPress › Membership « Plugins de WordPress
Esto se puede aplicar a secciones específicas de una página.

Si revisaras las características del plugin Membership, verías que hace que las páginas y secciones protegidas con contraseña sean muy fáciles de implementar según los usuarios y grupos de usuarios.
