WordPress. Mostrare gli articoli solo agli utenti loggati
Se nel nostro blog volessimo nascondere alcuni articoli ai visitatori non registrati e fare in modo che questi articoli “nascosti” siano visibili solo agli utenti registrati che hanno fatto il login, possiamo agire in questo modo.
- Impostiamo nell’articolo che vogliamo nascondere un campo personalizzato avente:
come chiave:nascosto
come valore:si
(senza accento) - Salviamo il post e modifichiamo il nostro file
index.php
(e se necessario anche gli altri file di template che ci interessano). - Rimpiazziamo interamente il Loop di WordPress con questo:
< ?php if (have_posts()) : while (have_posts()) : the_post(); $nascosto = get_post_custom_values("nascosto"); if ( isset($nascosto[0]) && $nascosto == "si" ) { if (is_user_logged_in()) { // Mostra l'articolo nascosto all'utente loggato } } else { // mostra l'articolo pubblico a tutti } endwhile; endif; ?>
Riferimenti
Per realizzare questa modifica, tutto ciò di cui hai bisogno, sono le info contenute nel Wiki di WordPress Italy:
Credits
Il post originale (in inglese) è questo: How to: Only display private posts to logged users in the loop.