Quando vogliamo costringere un utente ad effettuare il login per visualizzare un post dobbiamo necessariamente modificare lo stato del post nel pannello amministrativo di WordPress. Esiste tuttavia una soluzione più semplice.
Possiamo definire la seguente funzione:
// In functions.php
function login_to_view() {
global $post;
if ( !is_single() ) {
return;
}
$post_ids = array( 188, 185, 171 ); // ID dei post per cui è richiesto il login
if ( in_array( (int) $post->ID, $post_ids ) && !is_user_logged_in() ) {
auth_redirect();
}
}
Quindi la funzione va richiamata all'inizio del file single.php
:
login_to_view();