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:
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;
}