Volete organizzare i caricamenti multimediali per utente in WordPress?
Se gestite un sito web con più autori, potreste voler impedire agli utenti di accedere ai file multimediali degli altri. In questo modo, ci si può assicurare che gli autori non cancellino accidentalmente le immagini degli altri.
In questo articolo vi mostreremo come organizzare i caricamenti multimediali per utente in WordPress.
Perché limitare l’accesso degli autori al caricamento dei media?
Se avete un blog WordPress con più autori, i vostri autori potrebbero caricare molte immagini diverse. Questo può rendere difficile per un autore trovare l’immagine giusta, oppure potrebbe cancellare o modificare per sbaglio il file multimediale di un’altra persona.
Questo può causare problemi di ogni tipo, tra cui una scarsa produttività, molto lavoro extra per gli amministratori e i redattori del sito e un flusso editoriale complicato.
Questo accesso illimitato può anche costituire un problema di privacy. Ad esempio, se si sta lavorando a un nuovo prodotto o a un’idea per un post sul blog, gli altri autori potrebbero vedere le immagini riservate nella mediateca prima di fare un annuncio pubblico.
Se avete un sito di membership WordPress, i collaboratori possono persino accedere ai file multimediali premium tramite la libreria multimediale.
Detto questo, vediamo come limitare chi può vedere i media caricati nell’area di amministrazione di WordPress. Utilizzate i collegamenti rapidi qui sotto per passare direttamente al metodo che desiderate utilizzare:
Metodo 1: organizzare i caricamenti multimediali degli utenti con un plugin (facile e veloce)
Il modo più semplice per limitare l’accesso al caricamento dei media è utilizzare il plugin Frontier Restrict Access. Questo plugin gratuito controlla se un utente ha il permesso edit_others_posts
, che gli consente di modificare i post di un altro utente.
Per impostazione predefinita, WordPress concede questa capacità a tutti coloro che hanno il ruolo di amministratore del sito o di editor. Se si desidera modificare questa impostazione, è possibile aggiungere o rimuovere le funzionalità ai ruoli utente in WordPress.
Se l’utente non ha il permesso edit_others_posts
, questo plugin gli impedisce di accedere ai file di altri utenti nella libreria multimediale di WordPress. In questo modo è possibile organizzare i caricamenti dei file multimediali in base agli utenti, senza limitare l’accesso agli amministratori e ai redattori.
Questo plugin funziona subito e non ci sono impostazioni da configurare, quindi potete semplicemente installare e attivare il plugin Frontier Restrict Access. Per maggiori dettagli, consultate la nostra guida su come installare un plugin di WordPress.
Nota: si può notare che il plugin non è stato testato con le ultime versioni di WordPress. Detto questo, lo abbiamo testato noi stessi e funziona bene per questo tutorial.
Se avete domande, potete leggere il nostro articolo sull’opportunità di utilizzare plugin WordPress non testati. Se trovate nuovi plugin che funzionano meglio per questo scopo, fatecelo sapere nei commenti.
Metodo 2: organizzazione dei caricamenti multimediali da parte degli utenti con il codice (più personalizzabile)
Il primo metodo è semplice e veloce. Tuttavia, può essere piuttosto limitato, in quanto è possibile impedire solo agli utenti senza l’autorizzazione edit_others_posts
(amministratori e redattori del sito) di accedere ai file multimediali di altri utenti.
Se siete l’amministratore di un sito, potreste voler limitare a tutti gli utenti (tranne che a voi stessi) l’accesso ai file multimediali di altre persone.
In questo caso, potete aggiungere un codice personalizzato al vostro blog WordPress. Vi mostreremo due snippet di codice: uno che limita l’accesso ai file multimediali per gli utenti non amministratori e l’altro per gli utenti senza il permesso edit_others_posts
.
Spesso le guide vi chiederanno di aggiungere del codice personalizzato al vostro tema WordPress. Tuttavia, questa operazione non è consigliata, in quanto semplici errori o refusi nel codice possono causare errori comuni di WordPress o addirittura rompere completamente il sito.
Ecco perché raccomandiamo WPCode.
WPCode è il miglior plugin per gli snippet di codice utilizzato da oltre 1 milione di siti web WordPress. Consente di aggiungere facilmente codice personalizzato in WordPress senza dover modificare il file functions.php.
La prima cosa da fare è installare e attivare il plugin gratuito WPCode. Per maggiori dettagli, consultate la nostra guida passo-passo su come installare un plugin di WordPress.
Dopo l’attivazione, andare su Code Snippets ” Add Snippet.
Qui potrete vedere tutti gli snippet già pronti che potete aggiungere al vostro sito web. Questi includono snippet che consentono di disabilitare completamente i commenti di WordPress, di caricare file che WordPress non supporta di default e altro ancora.
È sufficiente passare il mouse su “Aggiungi codice personalizzato” e selezionare “Usa snippet”.
Per iniziare, digitate un titolo per lo snippet di codice personalizzato. Può essere qualsiasi cosa che aiuti a identificare lo snippet nella dashboard di WordPress.
Quindi, aprire il menu a tendina “Tipo di codice” e selezionare “Snippet PHP”.
Nell’area “Anteprima codice” è possibile incollare uno dei seguenti snippet di codice:
Opzione 1: Limitare l’accesso ai file multimediali per gli utenti WordPress non amministratori
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;
}
Opzione 2: Limitare l’accesso ai file multimediali per gli utenti di WordPress senza permessi di modifica dei post
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;
}
Quindi, scorrere fino alla sezione “Inserimento”. WPCode può aggiungere il codice in diverse posizioni, ad esempio dopo ogni post, solo sul front-end o solo per gli amministratori.
Per utilizzare il codice PHP personalizzato in tutto il vostro sito WordPress, fate clic su “Inserisci automaticamente” se non è già selezionato. Quindi, aprire il menu a discesa “Posizione” e scegliere “Esegui ovunque”.
A questo punto, siete pronti a scorrere fino alla parte superiore dello schermo e a fare clic sulla levetta “Inattivo” in modo che diventi “Attivo”.
Infine, fare clic su “Salva snippet” per rendere attivo lo snippet PHP.
Ora gli utenti avranno accesso solo ai file caricati nella libreria multimediale di WordPress.
Speriamo che questo articolo vi abbia aiutato a organizzare meglio i caricamenti di file multimediali da parte degli utenti sul vostro sito WordPress. Successivamente, potete consultare la nostra guida definitiva alla sicurezza di WordPress o vedere la nostra selezione di esperti dei migliori plugin per moduli di contatto per WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Joshua Owolabi says
I really enjoy all your tutorials kudos to you.
Although I am unable to use to build something due to lack of resources but you are WELDONE
WPBeginner Support says
Glad our tutorials are helpful
Admin
Teddu says
I would like users to be able to upload content, and once its approved go onto a new page. the user could then edit it once it is there.
Think, similar how airbnb let users upload photos and descriptions of their holiday homes, and it appears in a page.
do you know a plug in for this functionality?
WPBeginner Staff says
It is certainly possible but can potentially open up your site to spam, malicious hack attempts. Please see out article on how to allow users to submit posts in WordPress. You can allow users to upload media without registration.
fredtgorski says
The one thing I would really(!) love to see on media library would be the ability to search media per post and/or date of upload. Every time I need to reuse an image I uploaded for a very old post, it is painfull to find it again. Sometimes I simply give up and reupload it…
agsm says
sir , i want to design a wordpress page where user will upload some documents with following feilds (name,e-mail,title,summary and file upload) after submit , it should appear in dashboard and when admin approve it should be show on page (all listing of upload details which has been approved by admin ) , its possible,
thanks in advance!!!
Michel says
https://wordpress.org/plugins/wp-user-frontend/
Jan says
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco says
Very nice! Thank you!!