Noi di WPBeginner siamo soliti personalizzare i ruoli degli utenti sui nostri siti web. Riteniamo che se si consente agli utenti di eseguire solo le operazioni necessarie per il loro ruolo, si riduce la possibilità di errori e si migliora la sicurezza del sito web.
Alcuni lettori ci hanno chiesto se è possibile limitare gli autori a vedere e modificare solo le proprie pubblicazioni sui loro blog WordPress multi-autore. Per motivi di privacy, preferiscono che i loro collaboratori non vedano le pubblicazioni degli altri autori finché non vengono pubblicate.
Beh, è sicuramente possibile e in questo articolo vi mostreremo come limitare facilmente gli autori alla visualizzazione e alla gestione solo dei propri pubblici nella dashboard di WordPress.
Perché limitare gli autori ai propri post?
Per impostazione predefinita, il sito WordPress mostra tutti i post e le pagine a tutti gli utenti, indipendentemente dal loro ruolo nell’area di amministrazione. Che siate autori, redattori, collaboratori o amministratori, potete visualizzare tutti gli articoli.
Questo di solito non è un problema se gli autori fanno parte della vostra azienda o del vostro team.
Tuttavia, limitare la visualizzazione dei propri post è utile in alcune situazioni. Ad esempio, se si gestisce un sito web con più autori, può essere utile impedire agli autori di vedere gli articoli di altri autori in fase di revisione.
Detto questo, vediamo come limitare la visualizzazione dei propri post da parte degli autori nell’amministrazione di WordPress. Ecco gli argomenti che tratteremo in questo articolo:
Limitare gli autori ai propri post utilizzando un plugin
Utilizzando un plugin di WordPress, si può facilmente consentire agli autori di vedere solo i propri post senza modificare il codice.
Per questa esercitazione, utilizzeremo il plugin PublishPress Permissions. Si tratta di un plugin gratuito che consente di gestire i permessi di WordPress e funziona subito per limitare gli autori ai propri articoli.
È disponibile anche una versione premium nel pacchetto PublishPress Pro, che offre più impostazioni di autorizzazione, come ad esempio chi può accedere alla libreria multimediale. Tuttavia, è possibile iniziare con la versione gratuita.
Per prima cosa, è necessario installare e attivare il plugin PublishPress Permissions. Per maggiori dettagli, potete seguire la nostra guida su come installare un plugin di WordPress.
Una volta che il plugin è attivo, limiterà automaticamente gli autori e i redattori in modo che vedano solo i propri post nell’area di amministrazione di WordPress.
Ad esempio, se si accede come amministratore e si va su Messaggi ” Tutti i messaggi dalla propria dashboard, si vedranno tutti i messaggi.
Tuttavia, se si accede all’area di amministrazione di WordPress dall’account di un autore, si noterà che saranno visibili solo i post creati dall’autore.
Non sarà possibile vedere i messaggi scritti da altri utenti.
E se si volesse che i redattori potessero accedere a tutti i post per rivederli? Vediamo come fare.
Permettere ai redattori di visualizzare tutti i post
Il problema del metodo precedente è che consente solo agli amministratori di visualizzare tutti i messaggi.
Molti siti WordPress hanno redattori responsabili della correzione degli articoli inviati da altri autori e collaboratori ospiti. L’uso di questo plugin limita i redattori solo ai propri post.
Tuttavia, è possibile consentire ai redattori di rivedere i contenuti di diversi autori utilizzando un plugin come PublishPress Capabilities o aggiungendo codice ai file del tema del sito. Vi mostreremo entrambi i metodi.
Utilizzo del plugin PublishPress Capabilities
PublishPress Capabilities è un altro plugin creato da PublishPress. Per questo tutorial, utilizzeremo la versione gratuita. Esiste anche una versione pro che si può ottenere sottoscrivendo un account PublishPress Pro.
Per prima cosa, dovrete installare e attivare il plugin PublishPress Capabilities sul vostro sito web WordPress. Potete seguire la nostra guida passo passo su come installare un plugin di WordPress.
Dopo che il plugin è attivo, fate clic su Capacità nel menu di amministrazione di WordPress. Si aprirà la pagina “Capacità del ruolo”, dove è possibile modificare le autorizzazioni per i diversi ruoli degli utenti.
Quindi, selezionare il ruolo dell’utente che si desidera modificare dal menu a discesa nell’angolo in alto a sinistra.
Una volta selezionato il ruolo di “Editor”, è necessario assicurarsi che la casella di controllo “Modifica altri” sia abilitata nelle impostazioni delle capacità di modifica.
In questo modo i redattori potranno modificare altri post.
Successivamente, scorrere la sezione Capacità aggiuntive e assicurarsi che la casella di controllo “elenca altri messaggi” sia attivata.
In questo modo, chiunque abbia il ruolo di editore potrà vedere i post degli altri autori.
A questo punto, salvate le impostazioni e visualizzate la sezione Post sul vostro sito web accedendo come editore. Se si è in grado di visualizzare e modificare i post di altri autori, significa che le impostazioni sono state configurate correttamente.
Aggiunta di codice personalizzato al tema
Un altro modo per consentire agli editor di visualizzare tutti i post è aggiungere un codice personalizzato ai file del tema. Tuttavia, non raccomandiamo questo metodo ai principianti, poiché comporta la modifica del codice e può danneggiare il sito web.
Per iniziare, gli utenti esperti possono aggiungere manualmente questo codice al file functions.php del tema, ma noi consigliamo di usare un plugin per gli snippet di codice come WPCode.
Una volta installato e attivato il plugin WPCode, è necessario andare alla pagina Code Snippets ” + Add Snippet della propria Bacheca di WordPress.
Al passaggio del mouse su “Aggiungi il tuo codice personalizzato (nuovo snippet)” e poi fare clic sul pulsante “+ Aggiungi snippet personalizzato” che appare.
Si aprirà una pagina in cui è possibile aggiungere uno snippet di codice personalizzato. Per prima cosa, occorre dare allo snippet un titolo che ne descriva l’azione, ad esempio “Consenti agli editor di visualizzare tutti i post”.
Successivamente, è necessario incollare il seguente frammento di codice nel riquadro Anteprima codice:
function posts_for_current_author($query) {
global $pagenow;
if( 'edit.php' != $pagenow || !$query->is_admin )
return $query;
if( !current_user_can( 'edit_others_posts' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');
Quindi, assicurarsi di scegliere il tipo di codice “PHP Snippet” dal menu a discesa.
Infine, assicurarsi di attivare l’impostazione “Attivo” e fare clic sul pulsante “Salva snippet” per memorizzare e attivare il codice.
Questo codice consente a tutti gli utenti che hanno la possibilità di modificare i messaggi degli altri di visualizzare tutti i messaggi. Ciò significa che i redattori e gli amministratori potranno vedere tutti i messaggi. Gli utenti con altri ruoli, come i collaboratori o gli autori, vedranno solo i propri messaggi.
Per maggiori dettagli, potete consultare la nostra guida su come aggiungere codice personalizzato in WordPress senza rompere nulla.
Se si utilizzano ruoli utente personalizzati sul sito, è necessario tenere presente che gli utenti che possono modificare i post aggiunti da altri utenti saranno anche in grado di vederli elencati nella dashboard.
Bonus: Limitare la visualizzazione di post o pagine specifiche da parte degli autori
È inoltre possibile limitare la visualizzazione, la modifica e l’eliminazione di determinati post e pagine del blog da parte di autori, redattori, collaboratori e altri ruoli utente.
Utilizzando il plugin PublishPress Permissions, potete decidere facilmente quali post e pagine specifiche possono essere visualizzate nella dashboard del vostro sito web.
Per iniziare, installate e attivate il plugin PublishPress Permissions sul vostro sito web. Potete consultare il nostro tutorial su come installare un plugin di WordPress.
Supponiamo che vogliate che un articolo specifico possa essere modificato solo dal redattore del sito web e da nessun altro.
Per farlo, è possibile modificare il post. Una volta entrati nell’editor di blocchi di WordPress, è sufficiente scorrere verso il basso fino alla casella ‘Permessi: Modifica questo post”.
Successivamente, dovrete fare clic sul menu a discesa per tutti gli altri ruoli utente e scegliere l’opzione “Bloccato”. Per impostazione predefinita, il permesso sarà impostato su “predefinito: Sì”, dove tutti possono modificare il post.
Dopodiché, assicuratevi di lasciare l’impostazione per l’editor all’opzione “Abilitato” o “predefinito: Sì”. Una volta impostati i permessi, assicuratevi di aggiornare il post del blog.
Guide esperte sulla modifica delle funzionalità del ruolo dell’utente in WordPress
Speriamo che questo articolo vi abbia aiutato a capire come limitare gli autori alle proprie pubblicazioni nell’area di amministrazione di WordPress. Potreste voler vedere altri articoli relativi alla modifica delle capacità dei ruoli degli utenti di WordPress:
- Come aggiungere o rimuovere le funzionalità ai ruoli degli utenti in WordPress
- Guida per principianti ai ruoli e ai permessi degli utenti di WordPress
- Glossario: Permessi dell’utente
- Come consentire ai collaboratori di modificare i loro post su WordPress dopo l’approvazione
- Come consentire agli editor di modificare solo alcune pagine in WordPress
- Come impedire agli autori di cancellare i post in WordPress
- Come consentire agli autori di rivedere i post pubblicati in WordPress
- Come limitare l’accesso alla libreria multimediale ai caricamenti dell’utente in WordPress
- Come consentire agli utenti del blog di moderare i commenti in WordPress
- Come consentire agli utenti di modificare i propri commenti in WordPress
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Abu-Bakr Sediq
Hello there, I really enjoy this website! I have a question. How to rescrict (limit, Hide) specific options or feature while Author Post New Product or Add News post. To be more clear; How to limit user from some option in “Add New Post” while publishing post. Sorry for my very bad English
WPBeginner Support
If you want to limit the options for a post’s author based on their role, you would want to take a look at our guide below!
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
Admin
Lee
Hi there!
Thank you for this great article.
Can I use the Permissions plug in without the Capabilities plug in?
Or does the capabilities plug in work as a ‘base’ for the Permissions one, and they must be used together?
WPBeginner Support
You can use one without the other, they modify different options available to the different user levels.
Admin
lionel
what happens when I remove the plugin? will any changes be removed too and will all users go back to the defaults or will those users require special attention to have PublishPress roles removed? thanks!
WPBeginner Support
If you remove the plugin it would revert the settings from the plugin.
Admin
Eslam Magdy
Thank u so much man!,,, thanks work for me
WPBeginner Support
Glad our article was able to help!
Admin
Ignazio
You are really great and I congratulate you. If I may, I would like to ask you something. If I wanted to modify this code to make the posts limited in view and edit only to their author as far as drafts are concerned?
WPBeginner Support
For what you are wanting, you may want to modify the role permissions or give permissions, you would want to take a look at our article below on permissions:
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
Admin
Naomi Blindeman
Thank you! Lifesaver!
WPBeginner Support
You’re welcome
Admin
Dan D
Exactly what I was looking for. No custom code was needed.
WPBeginner Support
Glad our guide was helpful
Admin
Guto Rockwell
Works like a charm, many thanks
WPBeginner Support
Glad our guide could help
Admin
Zakaria
Your code working perfectly. Thanks!!!
WPBeginner Support
You’re welcome
Admin
Noriel
Your recommended plugin is already outdated, any other reliable plugin?
WPBeginner Support
This article was last updated in 2015, we will be sure to look for an alternative and update this article when we are able.
Admin
Fernando Aureliano
It works for all post types?
WPBeginner Support
If you’re using the plugin you would need to reach out to the plugin’s support for that specific question.
Admin
Davood Denavi
Does the code mentioned in this article work with all post types? I have some custom post types on a clients site and the plugin worked we do not have time to test the site right now after adding more code and we are trying to allow editors to view all posts.
Thank in advance for your help!
Gulshan Kumar
How to filter out comments according to currently logged in user?
I want to restrict listing of all comments for the contributor. I want to allow showing and moderation option only for those posts which belong to them.
Rohit Mewada
Same question, how hide comment also from other user.
Brandon Evans
Does this plugin include hiding of “pages” from non-authors? I see everything listed here says posts but would pages be included in that? Our site uses pages more than posts.
Ravijit
How to hide comments from contributers in wordpress dashboard ???
Tom
Hey there,
is there a way to exclude specific Post Types from that query ?
regards Tom
Sam
What if i have multiple admin and i want admin’s can see only their posts ??
barisla
very useful thanks
Charlie
Works great. The other problem I have is that it still displays the post count for other users. So for example there are 105 published posts even if the current user only has 2 published posts.
Any idea how to rectify this?
Sherwin Ramnarine
I realise this is months later so I guess the reply is really for others with the same problem. Try adding this to your functions.php. Think I got it on Wordpress.StackExchange.com >>
// Remove Post Counts
// Create a specific hook
add_filter(“views_edit-post”, ‘custom_editor_counts’, 10, 1);
function custom_editor_counts($views) {
// var_dump($views) to check other array elements that you can hide.
unset($views[‘all’]);
unset($views[‘publish’]);
unset($views[‘pending’]);
unset($views[‘trash’]);
return $views;
}