Защита паролем пользовательской страницы
Я пытаюсь защитить паролем мою пользовательскую страницу так, чтобы перед отображением любого контента пользователь должен был ввести пароль. Если точнее, в моем коде ниже, всё внутри div-контейнера content должно быть защищено паролем:
<?php
/*
Template Name: custom_page
*/
?>
<?php get_header(); ?>
<div id="content">
<div id="main">
<ul class="post">
<li><b>ПОСЛЕДНИЕ ЗАПИСИ</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><!-- конец content -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Я пытался использовать подход, описанный здесь
но не могу заставить его работать, так как не знаю, как обернуть мой PHP-код в предложенное решение.

Когда вы выбираете опцию защиты паролем в бэкэнде страницы, по умолчанию она применяется только к контенту, т.е. к the_content().
Но если вы хотите защитить паролем всю страницу или используете пользовательский шаблон, вам понадобится следующая структура.
<?php
global $post;
get_header();
if ( ! post_password_required( $post ) ) {
// Ваш пользовательский код должен быть здесь
}else{
// здесь мы покажем форму ввода пароля
echo get_the_password_form();
}
?>
Попробуйте использовать эту структуру

Я бы рекомендовал использовать плагин Membership; он позволяет пользователям определённого типа получать доступ к заданным защищённым зонам.
WordPress › Membership « Плагины WordPress
Это можно применить к определённым разделам на странице.

Если бы вы посмотрели на функции плагина Membership, то увидели бы, что он делает защищенные паролем страницы и разделы очень простыми в реализации на основе пользователей и групп пользователей.
