Protejarea unei pagini personalizate cu parolă
Încerc să protejez pagina mea personalizată cu parolă astfel încât înainte de afișarea oricărui conținut, utilizatorul trebuie să introducă o parolă. Mai specific, în codul meu de mai jos, orice se află în interiorul div-ului de conținut ar trebui să fie protejat cu parolă:
<?php
/*
Template Name: custom_page
*/
?>
<?php get_header(); ?>
<div id="content">
<div id="main">
<ul class="post">
<li><b>ULTIMELE POSTĂRI</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><!-- sfârșitul conținutului -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Am încercat să folosesc abordarea explicată aici
Protejarea unei pagini cu parolă
dar nu reușesc să o fac să funcționeze, deoarece nu știu cum să încorporez codul meu PHP în soluția sugerată.

Când selectați opțiunea de protecție cu parolă în backend-ul paginii, aceasta funcționează implicit doar pentru conținut, adică the_content().
Dar dacă doriți să protejați cu parolă întreaga pagină sau aveți un șablon personalizat, trebuie să utilizați următoarea structură:
<?php
global $post;
get_header();
if ( ! post_password_required( $post ) ) {
// Codul personalizat ar trebui să fie aici
}else{
// vom afișa formularul pentru parolă aici
echo get_the_password_form();
}
?>
Încercați să utilizați această structură

Aș sugera utilizarea Plugin-ului de Membru; acesta permite utilizatorilor de un anumit tip să aibă acces la anumite zone protejate.
WordPress › Membru « Plugin-uri WordPress
Această funcționalitate poate fi aplicată pe anumite secțiuni ale unei pagini.

Dacă ai privit caracteristicile din plugin-ul Membership, ai vedea că face paginile și secțiunile protejate prin parolă foarte ușor de implementat pe baza utilizatorilor și grupurilor de utilizatori.
