Come creare un’area riservata nel Frontend con WordPress

members-plugin-wordpress-area-riservata

In qualche occasione, può servire creare un’area riservata sul sito. Con un’area riservata, è possibile concedere l’accesso ad alcune pagine solo agli utenti autorizzati. Esistono diversi plugin per creare un’area riservata su WordPress. Io, per piccoli progetti, mi sono trovato bene con uno in particolare: semplice da configurare, di facile comprensione e gratis.

Plugin WordPress per creare area riservata

Il plugin che ho scelto per scrivere questa guida a come creare un’area riservata su WordPress è Members, di Justin Tadlock.

CARATTERISTICHE DEL PLUGIN

  • Editor dei ruoli: consente di modificare, creare ed eliminare ruoli e funzionalità per questi ruoli.
  • Ruoli utente multipli: assegnare più ruoli ad un qualsiasi utente.
  • Negare esplicitamente i permessi: negare permessi specifici a ruoli utente specifici.
  • Autorizzazioni contenuti: Puoi decidere quali utenti (per ruolo) hanno accesso alla pubblicazione di contenuti.
  • Shortcode: Possibilità di integrare le pagine con shortcode
  • Widget: un widget del modulo di accesso e un widget degli utenti loggati da mostrare nella sidebar
  • Sito privato: puoi rendere il tuo sito e i suoi contenuti completamente privati.

Come funziona Members

Una volta installato, il pannello di configurazione di Members, sarà richiamabile dal menu della bacheca di WordPress in Impostazioni —> Members.

Giunti sul pannello, potete notare che ci sono due differenti Tabs di configurazione:

  • General
  • Add-Ons

Add-Ons, contiene un elenco di 4 plugin dello stesso sviluppatore, che possono integrare altre funzionalità su Members.

Vediamo insieme la tab General.

Tab General

Ecco come si presenta la Tab General del plugin Members.

 

Tab General Plugin Members

Tab General Plugin Members

Vediamo come va configurato.

  • Role Manager: mettendo la spunta si attiva il plugin
  • Multiple Users Roles: spuntando la checkbox si attiva la possibilità di assegnare ruoli multipli agli utenti
  • Denied capabilities should always overrule granted capabilities: Se spuntato, quando ci sono due autorizzazioni opposte, quella che nega ha la precedenza su quella che concede.
  • Show human-readable capabilities when possible: Serve per abilitare la visibilità delle autorizzazioni per ruolo
  • Enable the content permissions feature: spuntandolo abilitiamo il permesso ad accedere ai contenuti privati.
  • Error Message: Scrivi un messaggio che comunica l’impossibilità di accedere all’area riservata
  • Login Widget: se si spunta, si abilita il widget del modulo di accesso
  • Users Widger: selezionandolo abilitiamo il Widget utenti
  • Enable Private Site: se si seleziona si reindirizzano gli utenti che fanno il logout alla pagina contenente il modulo per fare la login
  • Rest Api: Utilizza le API REST per l’autenticazione
  • Disable Feed: Mostra un messaggio di errore per gli elementi del feed.

Personalmente, lo imposto come vedete nell’immagine precedente.

Assegnare i ruoli agli utenti

Una volta settate le impostazioni sulla Tab General, andiamo a vedere come funzionano i ruoli utenti. Potremo assegnare e creare dei ruoli utente portandoci nel menu utenti della bacheca di WordPress.

Scopriremo la comparsa nel suo sottomenu di altre 2 voci:

  • Roles
  • Add New Role

Creare un nuovo Ruolo

Cliccate su “Add New Role“. Il pannello do configurazione si presenta come nell’immagine sottostante.

 

Add New Role plugin Members

Add New Role plugin Members

 

Come potete vedere abbiamo la possibilità di permettere (GRANT) o negare (Deny) la modifica di tutti gli elementi del sito.

Se volete creare una semplice area riservata per far consultare pagine specifiche agli utenti autorizzati, vi basterà soltanto dare la spunta Grant alla voce “Read”.

Per altri utilizzi smanettateci sopra e divertitevi a testare la varie possibilità. Per spiegarle tutte qui ci vorrebbe troppo tempo.

Per creare l’utente basterà scrivere il nome del nuovo ruolo nella casella di testo “Enter Role Name” e salvare cliccando sul pulsante a destra “Add Role“.

Se adesso ci spostiamo sulla voce del menu “Roles“, potremo vedere tutti i ruoli creati.

 

Ruoli del sito

Ruoli del sito

 

Assegnare il ruolo agli utenti

Per assegnare i ruoli agli utenti, dovremo portarci su Utenti —> Tutti gli Utenti e selezionare un utente. Noterete subito che si è aggiunto il campo “Ruolo” a questa schermata.

 

assegnazione ruolo utente con Members Plugin WordPress

assegnazione ruolo utente con Members Plugin WordPress

 

Da qui, attraverso un menu a tendina, possiamo selezionare il ruolo da assegnare ad ogni utente, scegliendo tra i ruoli creati. Questi utenti, avranno i permessi assegnati nella sezione Roles del plugin.

Impostiamo la login per gli utenti

Per il nostro esempio, cerare un’area riservata frontend nel sito, innanzi tutto è necessario creare la pagina di destinazione. Potrebbe essere una pagina dove gli utenti autorizzati possono visualizzare delle comunicazioni o scaricare dei documenti, o semplicemente visionare dei prodotti.

Andiamo in Widget e trasciniamo il widget Members Login Form in un’area della sidebar, oppure nel footer.

Ora vediamo come possiamo impostare questo widget.

 

widget members login form

widget members login form

Basterà limitarci a dare un titolo, e impostare le varie etichette traducendole in italiano se lo si desidera.

Il widget erediterà lo stile del sito, quindi il risultato visivo dovrebbe armonizzarsi automaticamente con il resto della pagina.

widget login nel frontend del sito

widget login nel frontend del sito

 

Per completezza, potete anche impostare un’intera pagina dedicata alla login, semplicemente inserendo lo shortcode [access] nella posizione che desiderate. Se si vuole far loggare da quella pagina solo gli utenti con un determinato ruolo, lo shortcode diventerà [access role=”nomeruolo”]

 

Ora bisognerà fare in modo che gli utenti atterrino sulla pagina che abbiamo preparato, quelle che contiene i documenti da visionare o scaricare.

Ci serve un’altro semplicissimo plugin dal nome divertente: Peter’s Login Redirect di Peter Keung. Installiamolo.

Una volta attivato, sul menu della bacheca di WP , sotto la voce Impostazioni, ci comparirà la voce “Login/Logout Redirect“. Il plugin si integra perfettamente con Members.

Dunque andiamo a cliccare su Login/Logout Redirect e impostiamo la pagina di destinazione dell’area riservata per i singoli utenti o gruppi di utente. Poi anche la pagina di atterraggio quando questi fanno il logout.

Il tutto è semplicissimo.

Basta selezionare l’utente o il ruolo e impostare la pagina su cui devono atterrare gli utenti che fanno la login e dove devono atterrare quando fanno il logout.

impostazione pagina di login e di logout

impostazione pagina di login e di logout

 

Al termine, andate a testare il funzionamento del plugin.

Nascondere la barra di amministrazione di WordPress ai membri dell’area riservata

Claudia, nei commenti, giustamente mi segnala che gli iscritti, possono comunque accedere alla bacheca di WordPress (seppur senza alcuna possibilità di fare qualcosa), perché l’admin bar è visibile. Per nascondere l’admin bar ai membri dell’area riservata, basta inserire nel functions.php del tema il codice che segue.

add_action('after_setup_theme', 'remove_admin_bar');
function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}

Conclusioni

Members si rivela un plugin semplice e rapido da utilizzare, pur con qualche limitazione ma se si considera che è completamente gratuito possiamo accontentarci.

Readers Comments (12)

  1. Salve Flavio,
    La mia esigenza è quella di automatizzare questo processo, cioè permettere agli utenti di registrarsi assegnando loro un ruolo predefinito. E fin qui ci sono riuscito con profile builder. Il problema è consentire all’utente di gestire con lo stesso account nuove registrazioni con l’aggiunta di altri ruoli. Esiste una soluzione?

    • Ciao Walter. Purtroppo non ho esperienze dirette tali in proposito, per consigliartene uno in particolare. Immagino sarai già andato a vedere su codecanyon. Nel caso non lo abbia fatto cerca li. Probabile che ne troverai uno che fa al caso tuo. Saluti.

  2. Ottima guida. L’ho usata e mi sono trovato molto bene.
    Una domanda: è possibile integrare, magari tramite altro plugin, anche il login con Facebook?
    Grazie,

    Francesco

  3. Io non riesco, gli utenti che ho creato (solo abilitati alla lettura) possono accedere in bacheca (dashboard) e non so come fare a evitare una cosa del genere.
    Grazie per l’aiuto, se avrai tempo, a me serve solo limitare l’accesso ai soli utenti registrati, ma solo per leggere i contenuti del sito, senza alcuna possibilità di accesso alla dashboard

  4. Ciao Flavio, nascondendo la barra di admin non è possibile fare il logout. Mi serve molto il nascondere questa barra ma mi servirebbe sapere se esiste uno shortcode che permette il logout. Inoltre con il programma Peter’s non funziona la pagina di atterraggio. Hai qualche idea

    • Ciao Patrizia, dovresti usare il widget “Members Login Form da mettere in un punto dove è sempre visibile. Da li, una volta terminato di consultare l’area riservata del sito, possono fare il logout attraverso l’apposito pulsante. Per quel che riguarda il non funzionamento della pagina di atterraggio, i casi possono essere diversi, dall’incompatibilità con qualche altro plugin a quella con l’utlima versione di WP. Potresti fare delle prove disabilitando tutti i plugin o facendo un rollback della versione di wordpress. Ma prima di impazzieci dietro, ti consiglio di dare un’occhiata al supporto (https://wordpress.org/support/plugin/peters-login-redirect/).

      • Grazie sono riuscita a far funzionare Peter’s ma per quanto riguarda i Logout nulla. Mi spiego: ho usato il widget “members login form” e quando sono loggata compare solo la scritta “ora sei connesso” e nessun pulsante per uscire. Inoltre ho un altro problema… se ho a che fare con un utente che conosce wordpress e che digita sulla barra degli indirizzi la parola “admin” accede comunque al back-end (pur avendolo disabilitato). Qualche idea in merito? Grazie

  5. Ciao ho seguito la tua guida e ho creato facilmente l’area riservata e funziona tutto. Però ho una domanda.
    Come faccio a nascondere il link dell’area riservata?
    Nel senso se mi loggo vedo l’area riservata e se non ho il login non vedo nulla, perfetto. Ma se conosco il link dell’area riservata, per esempio http://www.miosito.it/areariservata/video. E nella barra ricerca di google scrivo quel link, mi bypassa il login, c’è modo di ovviare questa cosa? Non so se mi sono spiegato bene.
    Vorrei se qualcuno dovesse scrivere quel link venga indirizzato alla pagina del login, oppure ad una pagina con scritto “non hai i permessi necessari a visionare questa pagina”.
    Grazie

Leave a comment

Il tuo indirizzo email non sarà pubblicato.


*