Protejarea unei pagini personalizate cu parolă

9 sept. 2012, 03:01:19
Vizualizări: 20.7K
Voturi: 11

Î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ă.

3
Comentarii

Te rog arată-ne cum ai încercat, nu ce ai nevoie să fie rezolvat (nu cunoaștem în detaliu).

kaiser kaiser
5 oct. 2012 13:55:22

încearcă condiția if(is_user_logged_in()) { } pentru aceasta sau redirecționează către pagina de login dacă nu este autentificat.

Vikas Gautam Vikas Gautam
17 sept. 2013 15:24:03

Protejare post/pagină cu parolă: Această funcționalitate este integrată în WordPress. Pur și simplu introdu o parolă când creezi postul sau pagina. Vezi în colțul din dreapta sus la Editare Pagină sau Editare Post > vizibilitate > alege Protejare cu Parolă. Pentru mai multe informații, consultă acest codex: http://codex.wordpress.org/Using_Password_Protection

Tara Tara
21 oct. 2013 03:04:33
Toate răspunsurile la întrebare 2
0
20

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ă

7 mai 2014 15:02:48
3
-1

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.

9 sept. 2012 03:21:18
Comentarii

Acest răspuns nu are nicio legătură cu post-password.

gurung gurung
15 iun. 2014 08:49:34

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.

Douglas.Sesar Douglas.Sesar
16 iun. 2014 18:04:05

Folosesc acest plugin pentru a rezolva problema pusă în întrebare aproape exact. Sunt sigur că ar fi util pentru cineva, acesta fiind scopul meu în postarea răspunsului.

Douglas.Sesar Douglas.Sesar
16 iun. 2014 18:05:48