Gestire un sito WordPress multi-autore è entusiasmante finché la libreria multimediale non diventa un caos. Ci siamo passati e sappiamo quanto sia frustrante quando un autore elimina accidentalmente le immagini di un altro, causando il caos poco prima di un grande lancio.
Prevenire ciò è più facile di quanto pensi. Puoi limitare quali autori vedono quali file multimediali, riportando l'ordine nella tua libreria.
Sebbene WordPress non disponga di un'impostazione integrata per questo, condivideremo il metodo semplice che utilizziamo nei nostri progetti. Ti aiuterà a mantenere i tuoi file multimediali organizzati e sicuri.

Perché limitare l'accesso degli autori ai caricamenti multimediali?
Se hai un blog WordPress multi-autore, i tuoi autori potrebbero caricare molte immagini diverse. Questo può rendere difficile per un autore trovare l'immagine giusta, oppure potrebbero eliminare o modificare accidentalmente il file multimediale di un'altra persona.
Ciò può causare tutti i tipi di problemi, tra cui scarsa produttività, molto lavoro extra per amministratori e redattori del sito e un flusso di lavoro editoriale complicato.
Questo accesso illimitato può anche essere una preoccupazione per la privacy. Ad esempio, se stai lavorando a un nuovo prodotto o a un'idea per un post del blog, altri autori potrebbero vedere immagini riservate nella libreria multimediale prima che tu faccia un annuncio pubblico.
Se hai un sito di appartenenza WordPress, i collaboratori potrebbero persino essere in grado di accedere a file multimediali premium tramite la libreria multimediale.
Detto questo, diamo un'occhiata a come limitare chi può vedere i caricamenti multimediali all'interno della tua area di amministrazione di WordPress.
Come organizzare i caricamenti multimediali per utente con WPCode
Mentre alcuni plugin hanno offerto questa funzionalità in passato, il modo più affidabile e leggero per organizzare i caricamenti degli utenti è aggiungere un semplice snippet di codice. Non preoccuparti, è più facile di quanto sembri!
Utilizzeremo il plugin gratuito WPCode per fare questo. È il modo più sicuro e semplice per aggiungere codice personalizzato al tuo sito WordPress senza modificare i file del tuo tema.
Ti mostreremo due snippet di codice che puoi utilizzare. Il primo snippet limita l'accesso alla libreria multimediale per tutti gli utenti non amministratori, mentre il secondo limita l'accesso per ruoli utente specifici come Autori e Collaboratori.
Spesso, le guide ti chiederanno di aggiungere codice personalizzato al tuo tema WordPress. Tuttavia, questo non è raccomandato, poiché semplici errori o refusi nel tuo codice possono causare errori comuni di WordPress o persino bloccare completamente il tuo sito.
Ecco perché raccomandiamo WPCode.
WPCode è il miglior plugin per snippet di codice utilizzato da oltre 1 milione di siti web WordPress. Rende facile aggiungere codice personalizzato in WordPress senza dover modificare il file functions.php.
Suggerimento dell'esperto: Qui a WPBeginner, utilizziamo WPCode per gestire tutte le funzioni personalizzate sul nostro portafoglio di siti web. Permette al nostro team di sviluppo di aggiungere e risolvere problemi di codice in modo sicuro senza mai toccare i file del tema principale, il che fa risparmiare molto tempo e previene errori costosi.
La prima cosa da fare è installare e attivare il plugin gratuito WPCode. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.
Dopo l'attivazione, vai su Snippet di codice » Aggiungi snippet.

Qui vedrai tutti gli snippet pronti all'uso che puoi aggiungere al tuo sito web. Questi includono snippet che ti permettono di disabilitare completamente i commenti di WordPress, disattivare le pagine di allegato immagine e altro ancora.
Passa semplicemente il mouse su 'Aggiungi il tuo codice personalizzato' e poi seleziona 'Usa snippet'.

Per iniziare, digita un titolo per lo snippet di codice personalizzato. Può essere qualsiasi cosa che ti aiuti a identificare lo snippet nella dashboard di WordPress.
Successivamente, apri il menu a discesa 'Tipo di codice' e seleziona 'Snippet PHP'.

Nell'area 'Anteprima codice', puoi incollare uno dei seguenti snippet di codice:
Opzione 1: Limitare l'accesso ai file multimediali per gli utenti WordPress non amministratori
Questo codice verifica se l'utente corrente non è un amministratore. Se non è un amministratore, filtra la libreria multimediale per mostrare solo i file che l'utente ha caricato personalmente.
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' ); function user_show_attachments( $query ) { $user_id = get_current_user_id(); // Check if the current user is not an administrator if ( $user_id && !current_user_can('administrator') ) { $query['author'] = $user_id; } return $query; } Ciò significa che gli utenti normali possono vedere e gestire solo i propri file multimediali, mentre gli amministratori possono ancora vedere e gestire tutti i file.
Opzione 2: Limitare l'accesso ai file multimediali per gli utenti WordPress senza permessi di modifica dei post
Questo codice è perfetto se vuoi che Editor e Amministratori gestiscano tutti i file multimediali, limitando invece Autori e Collaboratori solo ai propri caricamenti.
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' ); function user_show_attachments( $query ) { $user_id = get_current_user_id(); // Checks if the current user is logged in (i.e., $user_id is not 0) and does not have the capabilities to activate plugins or edit others' posts. if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts ') ) { $query['author'] = $user_id; } return $query; } Funziona verificando se un utente ha il permesso edit_others_posts, che è una capacità che gli Editor hanno di default, ma gli Autori no.
Successivamente, scorri fino alla sezione 'Inserimento'. WPCode può aggiungere il tuo codice in diverse posizioni, come dopo ogni post, solo nel frontend o solo nell'area amministrativa.
Per utilizzare il codice PHP personalizzato su tutto il tuo sito web WordPress, fai clic su 'Inserimento automatico' se non è già selezionato. Quindi, apri il menu a discesa 'Posizione' e scegli 'Esegui ovunque'.

Dopodiché, sei pronto per scorrere fino in cima allo schermo e fare clic sull’interruttore ‘Inattivo’ in modo che cambi in ‘Attivo’.
Infine, fai clic su 'Salva snippet' per rendere attivo lo snippet PHP.

Ora, gli utenti avranno accesso solo ai file che caricano nella libreria multimediale di WordPress.
Domande frequenti
Ecco alcune delle domande più comuni che riceviamo sull'organizzazione dei caricamenti multimediali in WordPress.
È sicuro aggiungere codice personalizzato al mio sito WordPress?
Aggiungere codice direttamente al file functions.php del tuo tema può essere rischioso. Un piccolo errore di battitura o un errore potrebbe causare problemi o persino rendere il tuo sito inaccessibile.
Ecco perché consigliamo vivamente di utilizzare il plugin WPCode. Crea uno strato sicuro per l'aggiunta di snippet, così non dovrai preoccuparti di rompere nulla.
Questo influenzerà le prestazioni del mio sito web?
Assolutamente no. Lo snippet di codice che abbiamo fornito è molto leggero e funziona in modo efficiente.
Aggiunge solo un semplice controllo quando un utente accede alla libreria multimediale, quindi non rallenterà il tuo sito web per i tuoi visitatori.
Posso limitare l'accesso ai media per ruoli utente specifici?
Sì, assolutamente! Il codice può essere facilmente personalizzato per indirizzare un ruolo utente specifico. Ad esempio, se volessi che questa restrizione si applicasse solo agli utenti con il ruolo di 'Autore', potresti usare questo snippet invece:
add_filter( 'ajax_query_attachments_args', 'author_only_show_attachments' ); function author_only_show_attachments( $query ) { $user = wp_get_current_user(); // Check if the current user has the 'author' role if ( in_array( 'author', (array) $user->roles ) ) { $query['author'] = $user->ID; } return $query; } Scopri altri modi per gestire i file di WordPress
Oltre a limitare i caricamenti di media in WordPress, potresti anche voler consultare le guide qui sotto per gestire meglio i tuoi file:
- Come rinominare immagini e file multimediali in WordPress
- I migliori plugin Dropbox per WordPress (scelte degli esperti)
- Come creare dimensioni aggiuntive per le immagini in WordPress
- Come Applicare Nomi File Immagine Puliti in WordPress (Metodo Semplice)
- Come pulire la tua libreria multimediale di WordPress
- Come cambiare la posizione predefinita di caricamento dei media in WordPress
Speriamo che questo articolo ti abbia aiutato a organizzare meglio i caricamenti multimediali da parte degli utenti sul tuo sito WordPress. Successivamente, puoi consultare le nostre scelte esperte dei migliori plugin per slider di WordPress e la nostra guida su come caricare facilmente immagini in modo lazy in WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Noel Williams
Chiunque cerchi un aggiornamento potrebbe voler considerare quanto segue, che si occupa dei problemi di elenco e griglia
// Per la visualizzazione elenco
add_action( ‘pre_get_posts’, ‘wpb_show_current_user_attachments_list_view’ );
function wpb_show_current_user_attachments_list_view( $query ) {
if ( is_admin() && $query->is_main_query() && $query->get(‘post_type’) === ‘attachment’ ) {
$user_id = get_current_user_id();
if ( $user_id && !current_user_can(‘administrator’) ) {
$query->set(‘author’, $user_id);
}
}
}
// Per la visualizzazione a griglia
add_filter( ‘ajax_query_attachments_args’, ‘wpb_show_current_user_attachments_grid_view’ );
function wpb_show_current_user_attachments_grid_view( $query ) {
$user_id = get_current_user_id();
if ( $user_id && !current_user_can(‘administrator’) ) {
$query[‘author’] = $user_id;
}
return $query;
}
Supporto WPBeginner
Thank you for sharing this
Amministratore
Bruno
Il plugin funziona, ma se si passa a ‘upload.php?mode=list’ è possibile vedere di nuovo tutti i media. Funziona solo in modalità grid
Supporto WPBeginner
Thank you for sharing this information
Amministratore
nathan
Fantastico! Funziona!
Ma se si usa l'app di WordPress installata dal cellulare, tutti gli utenti possono ancora accedere all'intera libreria multimediale. Ci sono soluzioni?
Il tuo aiuto è molto apprezzato!
Supporto WPBeginner
Al momento non abbiamo una soluzione per l'app, ma terremo sicuramente d'occhio la questione.
Amministratore
Alvaro Gomez
Thank you for mentioning my plugin
Supporto WPBeginner
Thank you for creating the plugin and placing it on the WordPress.org repo
Amministratore
Daniel
Sto cercando un modo per far caricare agli utenti direttamente dal loro PC invece di andare alla pagina dei media
kim
Questo potrebbe non essere il post su cui dovrei chiedere, ma...
What if you create a role for say, teacher. Is there a way or plugin that would filter so that one teacher can’t see another teacher media files? If that makes sense?
Insegnante-username1- media (vedi solo i file multimediali di username1)
Insegnante-username2-media (vedi solo i file multimediali di username2)
Hugh
Invece di:
!current_user_can(‘activate_plugins’)
&&
!current_user_can(‘edit_others_posts’)
USA:
!current_user_can(‘administrator’)
Perché, ad esempio, se si utilizza il plugin 'User Role Editor', si potrebbe voler consentire all'utente corrente di poter attivare plugin E/O modificare post altrui.
Just a thought, works for me
Grazie per il post!
Peter
Bel post.
E c'è un modo per disabilitare il caricamento di file direttamente nella libreria multimediale e obbligare gli utenti (eccetto gli amministratori) a usare il pulsante Aggiungi Media all'interno dell'editor di post/pagina?
Supporto WPBeginner
Ciao Peter,
Sì, c'è. Puoi usare il plugin Adminimize per nascondere il link Media dalla barra di amministrazione di WordPress per tutti i ruoli utente tranne gli amministratori.
Amministratore