WordPress sempre più CMS, basta un po di fantasia e qualche plugin e potete realizzare praticamente qualsiasi progetto web.
Come creare un’area riservata che permetta di:
Registrarsi direttamente dal front end di WordPress;
Loggarsi dal front end;
Recuperare la password dal front end;
Visualizzare delle pagine, categorie e post solo se loggati;
Modificare il proprio profilo senza accedere al back end di WP;
Non fare accedere quindi l’utente al back end di WordPress;
Avete bisogno dei seguenti 3 plugin gratuiti
Il processo non è immediato, ma fattibile, iniziamo con lo scaricare questi 3 plugin di WordPress:
- CaPa Protect
permette di proteggere, non far visualizzare i contenuti (indicati da voi) agli utenti non loggati; - Frontend Edit Profile
permette di visualizzare la scheda di modifica del profilo WP in una pagina del front end; - Login With Ajax
visualizza un ottimo form di login in un widget, con il quale potersi loggare, registrarsi, recuperare la password restando sempre nel front end WP;
Installiamo i plugin ed attiviamoli.
Nell’amministrazione di WordPress ci troveremo quindi, a fine menu, le i 3 nomi dei plugin appena installati.
La prima cosa da fare è creare le pagine, che chiameremo magari:
Pagina pubblica 1, pagina pubblica 2, pagina riservata 1, pagina riservata 2, profilo utente.
Vediamo come configurare i plugin
Partiamo dal plugin Frontend Edit Profile, quindi clicchiamo sulla voce corrispondente:
Semplicemente con ON e OFF scegliamo cosa l’utente postrà modificare sul proprio profilo, ma la parte più importante sono le impostazioni Login URL, Logout URL, Lost Password URL, dove andremo ad indicare appunto, la pagina di destinazione dopo che l’utente ha effettuato il login, la pagina di destinazione dopo il logout e la pagina di destinazione per il recupero della mail.
Apriamo la pagina “profilo utente” precedentemente creata ed inseriamo [editprofile] che permetterà di visualizzare il profilo impostato.
Secondo plugin, CaPa Protect:
Clicchiamo sulla voce “CaPa“, espandiamo il menu a tendina e clicchiamo nuovamente sulla sottovoce “CaPa“.
Tra le altre opzioni che potete configurare, è importante spuntare “Posts and pages display” -> “Show title and the private message as content“, questo per far uscire un messaggio agli utenti che per qualche errore, si ritrovano a visualizzare una pagina riservata. Quindi salvate le opzioni.
Clicchiamo sulla voce “User Roles“. Da questa possiamo decidere quali pagine o categorie, ogni ruolo di utenti potrà visualizzare. Ad esempio, decidiamo che ad ogni nuovo iscritto verrà assegnato il ruolo di “sottoscrittore” (vedi gestione ruoli utenti WordPress), quindi, sotto la colonna sottoscrittore spuntiamo le pagine che desideriamo questo utente veda, quindi salviamo.
Infine clicchiamo su “Visitors” dalla quale è possibile impostare le categorie e le pagine che saranno visibili agli utenti che non sono loggati.
Nota IMPORTANTE:
Nella sezione “Impostazioni” -> “Generale” deve essere abilitata la voce “Chiunque può registrarsi” e come “Ruolo predefinito nuovi utenti” “sottoscrittore“.
Terzo pliugin, Login With Ajax:
Da questa sezione, Impostazioni -> Login With Ajax, impostiamo il redirect del login e del logout (possiamo ad esempio mettere la home del nostro sito. http://www.nomesito.it). Possiamo impostarlo in maniera globale o per ogni singolo ruolo utente.
E’ importante spuntare la voce “Override Default” nella sezione “Notification setting“, questo sia per poter personalizzare l’e-mail che arriverà al nuovo utente e sia per evitare che arrivi all’utente l’e-mail classica di WordPress con il link all’area di amministrazione /wp-admin.
Ora dobbiamo fare una modifica lato codice, precisamente nella cartella del plugin login-with-ajax/widget/default/widget_in.php, andando a cercare e modificare “/wp-admin/profile.php” con “URL-nome-pagina-profilo-utente” questo per reindirizzare gli utenti alla pagina nel front end di gestione del profilo.
Ora andiamo sulla gestione “Aspetto” -> “Widget” e trascianiamo il widget “Login With Ajax” nella colonna desiderata.
Per concludere, creiamo un nuovo menu personalizzato ed inseriamo le pagine della nostra “Area riservata”
Esistono anche soluzioni con Plugin a pagamento per la gestione di aree riservate front end, ma questa la ritengo comunque ottima e molto flessibile.
Niente: confermo quando dicono gli utenti qua sopra. Non funziona: non invia l’email con la password e dunque sta solo per bellezza.
Salve anche io ho problemi con la registrazione: di fatto NON ESISTE alcun pulsante “registrati”, quindi o ci si logga (e quindi si è già registrati oppure nisba). Ma è normale per voi?
Ciao Cosè, questa guida è fantisca.. sei stato molto chiaro!!
Sono neofita di wordpress e seguendo le tue spiegazioni funziona tutto perfettamente. L’unico problema che ho è lo stesso Gianlu ovvero premendo il pulsante “Registrati” si schiarisce tutto non dando la possibiltà all’ utente di registrarsi.
Provando con diversi browser il problema rimane. Cosa può causare tutto ciò?? Come posso risolvere il problema? Ti ringrazio per qualsiasi suggerimento..
Grazie!!
Ciao, vorrei chiederti un parere:
Il plugin login with ajax funziona perfettamente tranne che nel recupero della password.
Dopo aver inserito l’indirizzo mail per il recupero al momento dell’invio rimane fissa la rotellina…..all’infinito…
Da cosa potrebbe dipendere?
Grazie 1000!
ciao!
ho installato i plugin ma ho problemi nella registrazione nuovo utente.
Quando clicco su “registrati” appare il popup.
Inserisco user e mail
parte il loading, ma non va più avanti (rimanendo in loading appunto)
La mail con la password non arriva(manco in spam), ma di fatto l’utente viene regolarmente registrato (nell’area utenti).
Ho la Versione 3.3.1 di wordpress con la Versione 3.0.4 di login with ajax
Cosa devo controllare in più?
Bel collage di plugin utili e interessanti. Ho istallato tutto seguendo le indicazioni, ma nel momento in cui ci si registra il caricamento non si conclude né viene inviata l’e-mail. Se poi clicco su password smarrita e inserisco pass. o user. non succede niente. Avrò sbagliato qualcosa?
Non ho capito bene questo passaggio: <a href="/wp-admin/profile.php”>
Bisogna solo sostituire /wp-admin/profile.php al link della pagina creata?
Grazie per il servizio!
Buonpomeriggio, inanzitutto ti ringrazio per questa guida, che è fanstastica…
ho eseguito tutto alla lettera e funziona tutto…o quasi…con il login non c’è problema, il problema sorge quando clicco su registrati….mi si schiarisce tutta la pagina e mi si apre il form di registrazione però rimane molto chiaro anche quello e non vi è possibile scrivere…come posso fare?!?!?!….ti ringrazio in anticipo…ciao ciaooo
Ciao Cosè, questa guida è fantisca.. sei stato molto chiaro!!
Sono neofita di wordpress e seguendo le tue spiegazioni funziona tutto perfettamente. L’unico problema che ho è lo stesso Gianlu ovvero premendo il pulsante “Registrati” si schiarisce tutto non dando la possibiltà all’ utente di registrarsi.
Provando con diversi browser il problema rimane. Cosa può causare tutto ciò?? Come posso risolvere il problema? Ti ringrazio per qualsiasi suggerimento..
Grazie!!
Ciao Cosé, ho risolto con 2 plugin: “User Access Manager” e “Peters login redirect” a questo punto però mi viene un dubbio… se qualcuno conosce l’indirizzo della pagina riesce ugualmente a collegarsi anche se la faccio “privata”? Tu che dici? Grazie!
Ottimo Luigi! Il sistema dovrebbe riconoscere se quella pagina è riservata o meno e nel caso bloccare l’utente richiedendo il login. Converrebbe provare ovviamente
Buongiorno.
Ho installato il plugin e fatto alcune prove.
Come faccio a permettere la registrazione degli utenti?
Nel widget di registrazione, non compare la voce “registrati”, cosa ho omesso?
Saluti
Ciao, controlla che nella voce, dal pannello di amministrazione di WordPress, Impostazioni -> Generale, ci sia la spunta su: Chiunque può registrarsi.
Grazie, ora visualizzo ‘registrati’ ma non mi arriva l’email di benvenuto, dopo la registrazione.
Ma stai lavorando in locale? perchè se è così le mail non ti arriveranno. Una volta on line funzionerà tutto.
No, in remoto ma non mi arrivano. è molto strano.
Hai controllato nello spam? scommettiamo che è tutto li?
Purtroppo no, ho visto non ci sono .-/
Sembra che abbia risolto. Grazie infinite!
Cosè… l’ultimissima dritta…sapresti come si modifica il widget nel titolo? Vorrei modificare la parola collegati. Grazie ancora.
Dunque, dato che non ti permette di farlo direttamente dal widget, il plugin va a prendere la traduzione direttamente dal file della lingua presente nel tuo tema, in genere nella cartella/wp-content/themes/nome-tuo-tema/languages/ .
I file in questione sono 2, it_IT.po ed it_IT.mo: questi due file gestiscono la traduzione del tuo tema, in lingua italiana, il .PO è il file da modificare, al cui interno trovi le traduzioni da inglese a italiano in genere. il file .MO è quello che il sistema wordpress utilizza per ricavare i testi tradotti.
Come modificarlo: devi aprire il file .po con l’editor con questo editor POEDIT http://www.poedit.net/download.php , quindi trovare la voce in questione, modificarla solo nella lingua italiana, salvare e rimandare i due file sul server. Ovviamante fai una copia di sicurezza prima di tradurlo.
Dovresti risolvere.
Ho modificato le due voci trovate nel file “collegati” ma non ho avuto risultati, non sembra sia quello il file. Il file modificato comunque l’ho trovato nella cartella wp-content-languages perchè nella cartella del tema non ci sono file uguali. Ho notato che il widget corrisponde o almeno è molto simile al login di wordpress, forse dovrei cercare altrove, tipo in wp-admin…o nello stesso plugin…?
Cosé… scusami se abuso della tua pazienza. Sapresti come si può aggiungere un campo al form di registrazione? Mi servirebbe avere anche il codice fiscale oltre a “nome utente” e “email”.
Grazie infinite.
Ciao Cosè, io dovrei aggiungere un area riservata sul sito. Però chi si registra sul sito non deve poter accedere all’area riservata. Viceversa chi ha accesso all’area riservata non si deve poter loggare con le stesse credenziali sul blog.
Ogni utente che si logga nell’area riservata deve vedere una pagina personale (solo per lui). Guardare senza modificare nulla. E per finire i contenuti dell’area riservata non deve essere indicizzate dai motori di ricerca.
Chiedo troppo? Cosa mi consigli?
Grazie!!!
Ciao Luigi, dunque, non credo che esiste un plugin o più per qualcosa di così specifico, però
credo che tu possa risolvere, più o meno, con la gestione dei ruoli utente, dovresti cioè creare due ruoli diversi, uno per gli utenti che si registrano al sito ed uno per gli utenti che visualizzano l’area riservata.
Utilizzando il plugin CaPa dovresti associare il ruolo per l’area riservata e gli iscritti al sito li gestisci normalmente dalla voce Impostazioni -> Generale -> Ruolo predefinito nuovi utenti.
– Ogni utente che si logga nell’area riservata deve vedere una pagina personale (solo per lui) — non so darti una soluzione, faccio una ricerca e ti faccio sapere.
I contenuti dell’area riservata non vengono indicizzati perchè bloccati dal login.
Grazie Cosé, spero mi darai una buona soluzione anche per la “pagina personale”. In alternativa che ne dici se come area riservata metto una seconda installazione di WordPress con un nuovo template? Se non ricordo male giorni fa mi parlavi di una guida per fare questo su WordPress… giusto?
Grazie di tutto!
Ciao Cosé, news per me?
Ciao
complimenti per il lavoro innanzi tutto.
vorrei sapere se puoi aiutarmi su 3 cose:
1- anche a me da problemi quando dal widget clicco su “registrati” non mi apre la pagina corretta.
2- sul sito io avrò la gestione multilingua ed utilizzo WPML come plugin, facendo delle prove sembra che vada in conflitto con i permessi, o meglio se seleziono come lingua inglese non vedo le le pagine nemmeno quelle pubbliche.
3- da dov’è che posso modificare la pagina del profilo utente ?
puoi aiutarmi ?
grazie Andrea
Ciao Andrea, occhio a questa modifica:
modifica lato codice, precisamente nella cartella del plugin login-with-ajax/widget/default/widget_in.php, andando a cercare e modificare “/wp-admin/profile.php” con “URL-nome-pagina-profilo-utente” questo per reindirizzare gli utenti alla pagina nel front end di gestione del profilo.
Per quanto riguarda il conflitto credo che non si possa far niente, o comunque si dovrebbe analizzare i LOG degli errori per capire meglio la situazione
Ciao, esiste un plug-in per fare in modo che un nuovo utente possa automaticamente registrarsi?? Grazie in anticipo !!!
Ciao, vorrei una delucidazione su questo tutorial (bellissimo). Ho fatto tutta la procedura e funziona tutto perfettamente. L’unico problema è questo: chi si logga dall’home page inserisce nome utente e e-mail, quindi gli arriva una mail direttamente da wordpress con la password, e fin qui tutto ok; il problema è che così io non posso fare da filtro a chi si logga… non c’è un modo per “dirottare” questa mail automatica al mio indirizzo e poi sarò io ad inoltrarla a chi si è registrato?
Salve.
Ho fatto tutto ma ho un problema….CaPa plugin: in pratica ho delle sezioni della home dove mostro gli articoli di una sola categoria…ebbene attivando questo plugin e selezionando la Categories visibility come visibile a tutti (intendo proteggere solo alcune pagine)….la plugin mi fa mostrare tutti gli articoli insieme…senza più distinzione….come si può risolvere?
il sito è http://www.ilforumdelprezzo.it
Può essere qualche incompatibilità tra i plugin che stai utilizzando, dovresti provare a disabilitarli uno alla volta e vedere se il problema si risolve.
Salve.
Ho attivato tutto …grazie per la guida!
c’è però un problema: quando attivo il plugin frontend edit profile, lo slide prodotti che ho in home si sdoppia su due righe e non va più(originariamente è su una riga e le freccette laterali fanno scrollare i prodotti) ….ci deve essere una incompatibilità ma non risco a capire cosa…. sarei grato se mi date almeno qualche dritta!
Ciao, credo che dipenda dalla libreria jquery che utilizzi nello slide in home. Considera che wordpress utilizza jquery ver=1.6.1, di conseguenza non puoi caricare un’altra libreria più vecchia.
Salve a tutti, ho provato i plugin è funzionano perfettamente, mi domandavo se era possibile far visualizzare solo una parte di un articolo. Esempio faccio un articolo e lo divido in due parti con la funzione MORE e vorrei che solo gli utenti loggati possano l’intero articolo, mentre gli utenti non loggati possano leggere solo la prima parte dell’articolo.
Ringrazio per l’attenzione.
ciao,
ho fatto tutto e funziona ma ho un problema!
io ho modificato il campo nel file php widget nel seguente modo:
>
<a href="http://www.iwebitaly.it/profilo-utente/“>
<?php
ma comunque continua ad aprirmi la pagina di registrazione nel pannello wordpress e non nella pagina indicata. dove ho sbagliato??
Grazie!!
Ciao Sandra, hai controllato ed aggiornato la versione dei plugin? perchè se hai fatto tutto bene deve funzionare, il tutorial è stato provato più volte.
Grandissimo!
Ottimi plug-in! Funzionano alla grande!
Avevo solo un quesito da porti, non è possibile creare più “gestione ruoli utenti” oltre a quelli di default di WordPress?
Mi spiego meglio, creare a mio piacere, gruppi di utente e decidere cosa devono vedere, senza dipendere dai 5 di default di WordPress.
Anche perché se per sbaglio dovessero accedere alla sezione /wp-admin potrebbero combinare qualcosa.
Spero di essermi spiegato.
Grazie
Andrea
Ciao Andrea e grazie!
Potresti utilizzare, per la creazione di nuovi gruppi di utenti e la gestione dei permessi, questo plugin:
Advanced Access Manager http://wordpress.org/extend/plugins/advanced-access-manager/
è abbastanza performante, ti permette appunto di creare nuovi gruppi e decidere in dettaglio cosa possono fare.
In alternativa puoi provare anche Role Manager http://www.im-web-gefunden.de/wordpress-plugins/role-manager/
Occhio alle impostazioni di WordPress: “Chiunque può registrarsi” e “Ruolo predefinito nuovi utenti” su impostazioni generali
a presto
Ciao,
ok perfetto…
appena ho la possibilità vedrò di testarli e vedere come si comportano!
Grazie mille!
Davvero ottimi anche i plug in che mi hai consigliato, peccato però che non facciano lo stesso lavoro di CaPa, o comunque, i ruoli me li creano e posso settare i permessi solo che poi non posso decidere cosa possono vedere o meno i gruppi che creo…
Hai per caso qualche consiglio?
Grazie in anticipo.
Andrea
Ciao, io ho l’esigenza di aggiungere il servizio “liste nozze” sul mio blog WordPress. Cosa mi consigli? Grazie!!!
Ciao Luigi, che io sappia e dalla ricerca che ho fatto non esiste un plugin che permetta di gestire una lista nozze.
Per trovare una soluzione alternativa, tu vorresti inserire dei prodotti ed associarli ad una lista? perché magari una lista potrebbe essere una categoria ed il prodotto un articolo. Quindi, ogni nuova lista nozze creerai una categoria tipo Lista nozze di Renzo e Lucia ed a questa assocerai i relativi articoli/prodotti.
Se avevi in mente un altro sistema fammelo sapere magari ti posso suggerire una soluzione migliore.
Una coppia di sposi dovrebbero avere la loro login e password che porta alla lista nozze/prodotti.
Quindi ogni invitato con queste credenziali deve accedere alla lista, scegliere il prodotto e prenotare o acquistare magari con paypal, ovviamente lasciando una registrazione che ne certifichi l’acquisto e che prenda nota del testo del bigliettino per gli sposi da allegare all’acquisto. Un problemone vero? Forse non tutto si può fare… spero di sbagliarmi ;o) Grazie!!!
Che io sappia non esiste, è troppo ad oc, andrebbe realizzato di proposito un plugin, nemmeno tanto piccolo, ma fattibile.
Se trovo qualcosa che si possa adattare te lo segnalo. Dovresti forse dare uno sguardo a Magento.
Grazie!!! Ok do uno sguardo a “magento”. Complimenti per il blog. A presto. Ciao.
salve volevo delle delucidazioni che non mi sono chiare, ho seguto tutto alla lettera ma ho un problema quando arrivo al punto:”Ora dobbiamo fare una modifica lato codice, precisamente nella cartella del plugin login-with-ajax/widget/default/widget_in.php, andando a cercare e modificare “/wp-admin/profile.php” con “URL-nome-pagina-profilo-utente” in “URL-nome-pagina-profilo-utente” che devo mettere per fare il redirect?cioè come settare i campi:url-nome di cosa-pagina quale etc etc grazie mille
Ciao Antonio, ti spiego subito.
Normalmente, il link di modifica del profilo utente, porta alla zona di amministrazione di WP.
Per evitare questo, all’interno del file “login-with-ajax/widget/default/widget_in.php” alla riga 39, dovresti trovare “/wp-admin/profile.php”, questo è il link che rimanda alla pagina di gestione profilo appunto lato amministrazione. Come dicevo nell’articolo, dovresti aver creato una pagina pubblica che contiene la gestione del profilo utente, giusto? se è così dovresti prendere quell’URL ed andarlo a sostituire al codice “/wp-admin/profile.php” in questo modo, il widget che gestisce il login avrà il link “gestisci il tuo profilo” che punterà alla pagina corretta.
Spero d’esser stato più chiaro, altrimenti fammi sapere.
Salve, il mio tema in uso è il 2010 e non capisco perchè le pagine con password non sono visibili con internet explorer.
Con Mozilla Firefox o altro sì.
Può darmi un aiuto. Grazie.
Sara.
Salve, dovrei visualizzare una di queste pagine per poterle rispondere, anche senza dati di accesso, mi basta il link della pagina, l’errore è sicuramente nel codice CSS, che come al solito IE non riesce a leggere bene. Cordiali saluti.
grazie ancora … e buona giornata !
Grazie mille per la delucidazione ! Ora ho capito perfettamente !!! Colgo l’occasione per chiedere un altro suggerimento: quale plug in si usa per la registrazione nuovi utenti ?
Non hai bisogno di plugin aggiuntivi. WordPress ha nativamente un’ottima gestione per la registrazione di nuovi utenti, infatti il plugin Login With Ajax permette, tra l’altro, di visualizzare il modulo di registrazione già tutto perfettamente funzionante, gli utenti si possono registrare, occhio però che i nuovi utenti registrati avranno un “Ruolo”
Leggi questo: http://www.wordpresstutorial.it/2010/11/13/gestione-ruoli-utenti-wordpress/
Ruolo che per i nuovi iscritti va settato dalla voce: Impostazioni -> Generale -> Ruolo predefinito nuovi utenti
Ciao ! Ho seguito la procedura ma non ho capito a cosa serve creare un menù personalizzato e come utilizzarlo ! Potete aiutarmi ? Grazie
Ciao Pierluigi, dunque, il menu personalizzato può esserti utile per far visualizzare in un unico menu le pagine private.
Ad esempio, supponiamo che tu abbia bisogno di nascondere delle pagine agli utenti non loggati, e quindi farle visualizzare a chi è loggato.
Il menu personalizzato ti permette appuno di raggruppare le pagine “private” che vuoi in un unico menu che sarà visibile solo agli utenti che effettuano il login.
Quindi potresti creare, se necessario, un nuovo menu personalizzato, che chiamerai “Area riservata” all’interno del quale inserirai tutte le pagine “private”.
Per come fare un menu personalizzato con WordPress puoi leggere questo articolo:
http://www.wordpresstutorial.it/2010/11/28/wordpress-3-0-menu-personalizzati/
Un menu personalizzato permette comunque di raggruppare diversi link di qualsiasi genere e visualizzarli in una qualsiasi area widget.
Spero d’esser stato chiaro, altrimenti spiegami qual’è la tua esigenza, vedrò di suggerirti la soluzione che ritengo migliore.
A presto.
Ho fatto tutto quello indicato (almeno credo)
però nella pagina accessibile da forntend ho questo errore alla fine
===
Capacità aggiuntive
Fatal error: Call to a member function is_role() on a non-object in /home/pdudine/public_html/wp-content/plugins/frontend-edit-profile/fep.php on line 589
===
e non mi compare il bottone per salvare le modifiche
Quale può essere l’errore?
Grazie
Ciao Claudio, mi dici quale versione di WordPress stai utilizzando? e la versione del plugin? questo per vederne la compatibilità.
Ho visto che utilizzi BuddyPress, molto probabilmente si crea un conflitto con questo, perchè BuddyPress è molto castomizzato anche nelle gestione di utenti, pagine riservate, login ecc.
Prova comunque a rifare l’upload di frontend-edit-profile, magari si è corrotto qualche file.
Fammi sapere se vuoi.
A presto
Pingback: Wordpress Controllo Accessi | ingegno.it
Mi hai salvato la vita, grazie!
Felice d’esserti stato utile! grazie, a presto