Vuoi limitare gli autori alla visualizzazione solo dei post da loro creati nel pannello di amministrazione? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per limitare gli autori alla visualizzazione solo dei post da loro creati in WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
function posts_for_current_author($query) {
global $pagenow;
if( 'edit.php' != $pagenow || !$query->is_admin )
return $query;
if( !current_user_can( 'manage_options' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 15 migliori strumenti di content marketing e come creare un modulo di contatto in WordPress.
Come posso fare in modo che vengano mostrati solo i post degli autori correnti, ma che vengano mostrati anche i post di altri autori impostati manualmente tramite ID, nel mio caso l'ID utente è 3, voglio che tutti gli autori vedano
Ciao Patrick, una soluzione semplice è creare una pagina protetta da password per i tuoi autori e visualizzare i post di tutti gli autori su questa pagina.
Ciao Chard, come fare se questo verrà utilizzato solo per una pagina e non per un post, grazie, ho bisogno del tuo feedback presto
Una pagina in WordPress è un tipo di post. Detto questo, potresti dover cambiare 'edit.php' alla riga 4 in 'edit.php?post_type=page'.
puoi aiutarmi con il codice per limitare gli autori alla visualizzazione solo della categoria da loro creata.
Grazie
c'è un modo per limitare l'autore di un commento a essere l'unico a poter vedere il commento? So che sembra senza senso – non chiedere 🙂 Ne ho davvero bisogno! Grazie in anticipo.
Grazie mille Kevin!!
Nessun problema, sono felice di aver potuto aiutare.
Inoltre, questo funziona solo per i post o anche per le pagine?
Sto usando WP 3.3.1 e questo non funziona. C'è un aggiornamento del codice? Grazie.
Ernest, oserei indovinare che sostituiresti:
if( !current_user_can( ‘manage_options’ ) ) {
con:
if( !current_user_can( ‘level_1’ ) ) {
Chiunque abbia un ruolo superiore a Collaboratore sarebbe in grado di vedere tutti i post.
Ciao, questo è un ottimo snippet! Come posso cambiare il codice per avere questo effetto per il ruolo utente “Collaboratori”?
Ha funzionato come descritto. Ma, quando l'ho rimosso da functions.php non riuscivo a vedere alcun post quando ero loggato come chiunque altro tranne un amministratore. ???
Scusa. Sembra che possa essere stato un problema con qualcos'altro. Ora sembra funzionare bene.
Ciao Chad Fantastico, sono contento di vedere che hai risolto.
Ottimo snippet, grazie. Conosci un modo per limitare la visibilità delle intestazioni del sottomenu per ID utente. Ad esempio, l'autore di un post di tipo custom_post_type A, vede solo il sottomenu per custom_post_type A mentre i sottomenu degli altri custom_post_type sono nascosti?
Ciao Craig, sono contento che ti piaccia lo snippet. Per quanto riguarda il sottomenu, questo snippet dovrebbe risolvere il problema per te. http://wpsnipp.com/index.php/functions-php/remove-sub-menu-dashboard-items/
Grazie per questo 😉
Funziona per tutte le classi di utenti (Autori, Editor, ecc.)?
Questo snippet mostrerà solo i post creati da quell'utente, dovrebbe funzionare per tutti. Quindi, se c'è un utente che non ha creato alcun post, non dovrebbe vedere nulla nella vista admin dei post.