Creare un blog privato con WordPress
di nemoprincess
Pubblicato February 7th, 2009 at 5:41 pm
WordPress nasce come piattaforma di blogging. Tutti sappiamo cos’è un blog. Poi si migliora e si diffonde così tanto (anche grazie al contributo dei tantissimi sviluppatori che rilasciano nuovi plugin ogni giorno), che ormai sempre più spesso viene utilizzato, non solo come piattaforma per blog, ma anche per siti vetrina, ecommerce e quant’ altro.
A me è capitato di avere queste specifiche:
* blog privato: post solo per utenti registrati
* gruppi di utenti che accedono solo a determinate categorie
* feed rss autenticati: ogni utente deve poter leggere solo i feed dei post appartenenti ad una determinata categoria
Vi spiego come ho risolto, anche perchè mi ci è voluto un bel pò, per testare plugin e cercare la giusta combinazione affinchè tutto funzionasse come si desiderava.
La prima cosa da fare è creare dei gruppi di utenti. WordPress ne definisce alcuni di default: Amministratori, Autori, Sottoscrittori, ecc. Ma a me servono solo dei gruppi diversi di lettori. Il plugin che fa al caso nostro è Role Scoper. Con Role Scoper, che non è ancora arrivato al rilascio della versione definitiva, è possibile creare altri gruppi di utenti. Una volta creati i gruppi è possibile assegnare a tali gruppi gli utenti che ne faranno parte. Grazie a Role Scoper possiamo restringere i permessi degli utenti, in base ai post, ai tag, alle pagine, alle categorie. In questo modo assegno ad ogni gruppo il diritto di leggere solo i post della categoria corrispondente. Ho “già” risolto i primi due punti. Manca il terzo. In questo caso c’è un plugin che gestisce i feed con autenticazione in modo ottimo. Crea infatti una chiave di autenticazione basata sulla mail o sul nome utente e la memorizza nel database, così l’ accesso ai feed non avviene più tramite user e password ma tramite questa chiave passata tramite l’ indirizzo del feed come variabile di accesso. Purtroppo però questo plugin, FeedKey, a me non ha funzionato. Poi ho scoperto che c’ era un altro plugin in grado di gestire le restrizioni sui post: Wp-Sentry, che tra le altre funzionalità (simili a Role Scoper) integrava proprio Feedkey. Così ho ristretto l’ accesso al blog con Wp-Sentry, gestendo l’ autenticazione dei feed tramite Feedkey integrato. Poi ho gestito la restrizione sulle categorie con Role Scoper.
Infine qualche tocco finale. Senza autenticazione non si visualizza nulla, ma la home restituisce una bruttissima pagina di errore 404. Ho modificato la struttura del template della pagina 404 del mio tema, inserendo un messaggio di avviso per gli utenti: “E’ necessario loggarsi per visualizzare gli articoli” e successivamente con un refresh in html li porto direttamente ad una pagina appositamente allestita per il login. Non la pagina di login di WordPress. Ho integrato il login tramite il plugin Sidebar Login che porta le funzioni di autenticazioni ovunque vogliate all’ interno del blog. Personalizzandolo un pò si ottiene una piccola pagina di benvenuto, che dopo il login, saluta l’ utente e l’ aiuta a gestire il proprio accesso e il proprio profilo.
Altra piccola chicca: Feedkey stampa il codice personalizzato solo e soltanto nella pagina di profilo. Io volevo invece che ad ogni utente apparisse nell’ header del sito, anzichè il link generico dei feed il proprio personale. Con qualche riga di codice ho recuperato la key dal database di WordPress e l’ ho sostituita a quella generica. Il codice per ottenere il link dei Feed per uno specifico utente lo ottenete così:
<a href=”
<?php
global $current_user;
$feedvalue = $wpdb->get_var(“SELECT meta_value
FROM $wpdb->usermeta WHERE user_id='$current_user->ID'
AND meta_key='feed_key'”);
echo
(get_bloginfo('url').(“?feed=rss2&feedkey=”).
($feedvalue));?>”>Post RSS Feed</a>
Inoltre (abbiamo davvero finito…): Volevo che gli utenti si potessero registrare ma che la registrazione fosse approvata dall’ amministratore. Altro plugin che arriva in soccorso: Confirm User Registration.
A questo punto abbiamo un blog privato, accessibile solo agli utenti registrati approvati dall’ amministratore. Gli utenti possono leggere solo determinate categorie secondo il proprio gruppo di appartenenza e possono restare aggiornati abbonandosi a feed personalizzati, “a misura di utente”.
fonte:http://www.nemoprincess.it/blog/wordpress/creare-blog-privato-con-wordpress.html