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.

  1. Impostiamo nell’articolo che vogliamo nascondere un campo personalizzato avente:
    come chiave: nascosto
    come valore: si (senza accento)
  2. Salviamo il post e modifichiamo il nostro file index.php (e se necessario anche gli altri file di template che ci interessano).
  3. 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.