Protezione con Password di una Pagina Personalizzata

9 set 2012, 03:01:19
Visualizzazioni: 20.7K
Voti: 11

Sto cercando di proteggere con password la mia pagina personalizzata in modo che prima di mostrare qualsiasi contenuto l'utente debba inserire una password. Più specificamente, nel mio codice sottostante, qualsiasi cosa all'interno del div-container del contenuto dovrebbe essere protetta da password:

<?php
/*
Template Name: custom_page
*/
?>

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

  <div id="main">


<ul class="post">
        <li><b>ULTIMI ARTICOLI</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><!-- fine contenuto -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Ho provato a utilizzare l'approccio spiegato qui

Protezione con password di una pagina

ma non riesco a farlo funzionare, poiché non so come integrare il mio codice PHP nella soluzione suggerita.

3
Commenti

Per favore mostra come hai provato, non cosa hai bisogno di ottenere incapsulato (non conosciamo nei dettagli).

kaiser kaiser
5 ott 2012 13:55:22

prova la condizione if(is_user_logged_in()) { } per questo o reindirizza alla pagina di login se non è loggato.

Vikas Gautam Vikas Gautam
17 set 2013 15:24:03

Protezione con password per post/pagina: Questa è una funzionalità integrata in WordPress. Basta inserire una password durante la creazione del post o della pagina. Guarda nell'angolo in alto a destra su Modifica Pagina o Modifica Post > visibilità > seleziona Proteggi con password. Per maggiori informazioni, consulta questo codex: http://codex.wordpress.org/Using_Password_Protection

Tara Tara
21 ott 2013 03:04:33
Tutte le risposte alla domanda 2
0
20

Quando selezioni l'opzione protetta da password nel back-end della pagina, funziona per impostazione predefinita solo per il contenuto, ovvero the_content().

Ma se vuoi proteggere con password l'intera pagina o hai un template personalizzato, devi utilizzare la seguente struttura.

<?php
global $post;
get_header();

if ( ! post_password_required( $post ) ) {
      // Il tuo codice personalizzato dovrebbe essere qui
}else{
    // mostreremo il modulo della password qui
    echo get_the_password_form();
}

?>

Prova a utilizzare questa struttura

7 mag 2014 15:02:48
3
-1

Suggerirei di utilizzare il plugin Membership; permette agli utenti di un determinato tipo di accedere a specifiche aree protette.

WordPress › Membership « Plugin per WordPress

Questa funzionalità può essere applicata a sezioni specifiche di una pagina.

9 set 2012 03:21:18
Commenti

Questa risposta non ha nulla a che fare con la protezione tramite password degli articoli.

gurung gurung
15 giu 2014 08:49:34

Se avessi guardato le funzionalità del plugin Membership, avresti visto che rende molto semplice implementare pagine e sezioni protette da password in base agli utenti e ai gruppi di utenti.

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

Utilizzo questo plugin per risolvere quasi esattamente il problema posto nella domanda. Sono sicuro che potrebbe essere utile a qualcuno, ed è questo l'intento della mia risposta.

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