WordPress: regolamentare l’accesso alla sezione Media

Nella sezione Media di WordPress sono presenti vari file. Vediamo come attivare la visualizzazione selettiva (in base alla tipologia di account).

La sezione Media di WordPress è nota a tutti gli utilizzatori del popolare CMS. Si tratta dell’archivio in cui sono raccolti tutti i file multimediali (immagini, video, audio, pdf etc.) caricati dagli autori/collaboratori del sito. Come impostazione predefinita, il CMS consente a tutti di visionare il contenuto della cartella Media – senza alcuna distinzione. In un sito multiautore potrebbe invece essere necessario consentire la visualizzazione dei soli file caricati dall’autore/collaboratore di turno, anche al fine di rendere meno caotico l’archivio di ciascuno e facilitare la ricerca.

Nel tutorial di oggi vediamo come attivare un “filtro” affidandoci prima ad un plugin (metodo più semplice) e poi alla modifica di un file di sistema (metodo per utenti avanzati). Buona lettura.

Regolamentazione da plugin

Accediamo alla bacheca del CMS e raggiungiamo la sezione dedicata all’installazione di un nuovo plugin (Plugin, Aggiungi nuovo). Digitiamo Restrict Media Library Access e procediamo all’installazione ed attivazione tramite bottone contestuale:

Restrict_Media_1

La procedura è stata ultima! Il plugin non ha bisogno di ulteriori accorgimenti. Gli utenti con privilegi amministrativi (Admin) e gli Editor potranno continuare a visionare tutti i file della sezione Media mentre per gli altri sarà unicamente visibile l’elenco dei file che hanno caricato personalmente online.

Limitazione mediante modifica dei file di sistema

Per gli utenti avanzati, che non desiderano installare un plugin e vogliono modificare manualmente le regole di accesso, è possibile inserire le seguenti linee di codice nel file functions.php:

// Limit media library access

add_filter( ‘ajax_query_attachments_args’, ‘wpb_show_current_user_attachments’ );

function wpb_show_current_user_attachments( $query ) {
$user_id = get_current_user_id();
if ( $user_id && !current_user_can(‘activate_plugins’) && !current_user_can(‘edit_others_posts
‘) ) {
$query[‘author’] = $user_id;
}
return $query;
}  

 

  • visitatore numero

    Buonasera. Ho letto il vostro articolo solo oggi e mi sono accorto che il plugin da voi indicato non viene più aggiornato da due anni. Ho anche provato a usare il codice nel file functions.php, ma mi si è bloccato il sito ed ho dovuto ripristinare il file via FTP. Cortesemente, sapreste indicarmene uno con le stesse funzionalità ma che venga aggiornato con più regolarità?

    Grazie anticipatamente.

    • internetpost

      Buongiorno. Si, il plugin non viene più aggiornato da tempo (la guida è di dicembre 2017) e con l’arrivo della versione 5.0 di WordPress deve essere probabilmente andato in conflitto con il CMS stesso.

      Dando uno sguardo alla lista dei plugin più recenti, “User Access Manager” e “Advanced Access Manager” sembrano avere dei settaggi dedicati all’accesso ai file della libreria multimediale ma appaiono molto più “macchinosi” da impostare rispetto a “Restrict Media Library Access”.