Bloccare pagine se non è stato eseguito il login in Wordpress

Mattepuffo's logo
Bloccare pagine se non è stato eseguito il login in Wordpress

Bloccare pagine se non è stato eseguito il login in Wordpress

Quello che vogliamo fare è bloccare l'accesso a tutte le pagine a meno che non si è loggati in Wodpress.

A parte ovviamente la pagina di login, che in genere è condivisa con il dettaglio account.

Per fare questo ci sono vari modi, ed io usato questo codice PHP da mettere nel functions.php del vostro template:

function redirect_to_specific_page() {
    if (!is_page('mio-account') && !is_user_logged_in()) {
        wp_redirect('https://www.sito.it/mio-account/', 301);
        exit();
    }
}

add_action('template_redirect', 'redirect_to_specific_page');

In pratrica andiamo a controllare che lo slug della pagina non sia quello dove si fa il login (per evitare redirect circolari infiniti) e che l'utente sia loggato.

Nello specifico con le funzioni is_page (passando lo slug) e is_user_logged_in.

Nel caso rimandiamo l'utente al login con wp_redirect.

Enjoy!


Condividi

Commentami!