Un plugin per aggiungere contenuto privato ai post

Leggevo oggi il post di Jeff Starr che rilanciava un’idea di Jean-Baptiste Jung: aggiungere al post un blocco di testo da mostrare solo agli utenti che abbiano un preciso ruolo. In un blog monoutente la funzione è pressoché inutile (semmai si può usare per aggiungere una nota personale al post o un testo per gli utenti registrati), ma in un blog multiutente credo che si riveli più utile.

Mentre Jeff e Jean-Baptiste si limitavano a una funzione da implementare nel proprio functions.php che mostrava il testo privato solo a un determinato tipo di utenti, ho esteso lo script in modo da scegliere in fase di composizione dell’articolo chi potesse vedere la “nota privata”; avendo presenti i ruoli di WordPress, e cioè (in ordine decrescente): amministratore, editore, autore, collaboratore, sottoscrittore. Se scrivo una nota per l’amministratore, la vedrà solo lui; se la scrivo per l’editore, la vedrà lui e l’amministratore; se la scrivo per il sottoscrittore, la vedrà lui e tutti quelli superiori a lui. Se lo si vuole, si può inserire una nota solo per un determinato ruolo, escludendo tutti gli altri, anche se superiori di ruolo.

Una volta completato il plugin, l’ho inviato a Jeff che lo ha reso disponibile a tutti.

Il codice usato nel plugin si potrebbe utilizzare incollandolo nel proprio functions.php, ma se si cambia tema tutte le note diverranno visibili a chiunque. Col plugin invece questo non succede.

Come funziona

L’uso è molto semplice e funziona mediante shortcode. La sintassi è:

[private role="ruolo"]Testo privato[/private]

dove al posto di ruolo va inserito uno tra i seguenti (in inglese):

  • administrator
  • editor
  • author
  • contributor
  • subscriber

Come detto, se inserisco una nota per il contributor, anche quelli sopra di lui la leggeranno.

Invece, per far vedere la nota solo al gruppo designato, va usato:

  • editor-only
  • author-only
  • contributor-only
  • subscriber-only

Download

Trovate citato il plugin UBN Private content nel post di Jeff al paragrafo Now in plugin flavor!. Migliorie e suggerimenti sono più che graditi.