Stai cercando un modo per disabilitare l'editor HTML TinyMCE per tutti tranne l'amministratore? Sebbene probabilmente esista un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per disabilitare l'editor HTML TinyMCE per tutti tranne l'amministratore 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:
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
add_action( 'admin_head', 'disable_html_editor_wps' );
function disable_html_editor_wps() {
global $current_user;
get_currentuserinfo();
if ($current_user->user_level != 10) {
echo '<style type="text/css">#editor-toolbar #edButtonHTML, #quicktags {display: none;}</style>';
}
}
In alternativa, potresti usare questo snippet, che disabiliterà TinyMCE per tutti tranne l'elenco specificato di utenti. Aggiungi questo codice al file functions.php del tuo tema o a un plugin specifico per il sito.
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
add_action( 'admin_head', 'disable_html_editor_wps' );
function disable_html_editor_wps() {
global $current_user;
get_currentuserinfo();
// change users in list
$users = array(
"dave",
"larry",
"steve",
"ryan"
);
if (!in_array($current_user->user_login, $users)) {
echo '<style type="text/css">#editor-toolbar #edButtonHTML, #quicktags {display: none;}</style>';
}
}
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 possibilità di consultare i nostri altri articoli sul sito come: 27 migliori temi WordPress per aziende per il tuo sito web e come impostare il monitoraggio dei download in WordPress con Google Analytics.
[...] [Fonte] [...]
Disabilita e display:none; non sono proprio la stessa cosa...
Sembra che tu possa usare firebug e riabilitarlo e usarlo e scrivere ancora javascript.
Non sicuro.
Bel snippet. Ho dovuto usare il seguente CSS per farlo funzionare: a#content-html {display: none !important;}
Ciao Kevin,
Mi piacerebbe davvero vedere questo codice ancora attivo... c'è qualche possibilità di un aggiornamento per WP 3.5?
Al momento, non vedo che questo funzioni...
Avinash D’Souza:
questo funziona per me! – sostituisci la parte dello stile con questo:
html.wp-toolbar
body.wp-admin div#wpwrap div#wpcontent div#wpbody div#wpbody-content
div.wrap form#post div#poststuff div#post-body.metabox-holder
div#post-body-content div#postdivrich.postarea
div#wp-content-wrap.wp-core-ui
div#wp-content-editor-tools.wp-editor-tools
a#content-tmce.wp-switch-editor
Ciao Kevin — ottimo snippet e ho imparato da esso come faccio dalla maggior parte del tuo codice. Bizzarro seguito, come possiamo disabilitare del tutto l'area di testo? COSA!!!! LOL
Ok, ho un tipo di post personalizzato con nient'altro che campi personalizzati per l'inserimento (usando il plugin per i campi personalizzati) e tutto il codice è nel template del post personalizzato. So che ha a che fare con 'display: none' ma non so quale sia il codice "display". Penso di poterlo inserire in un foglio di stile separato con add_editor_style e usare una condizione if (is_singular) per mostrarlo solo sul post personalizzato.
Grazie
Ciao Mike, puoi rimuovere l'Editor dal tipo di post personalizzato rimuovendo quelle opzioni dall'array 'supports' nel codice del tuo tipo di post personalizzato.
‘supports’ => array( ‘title’, ‘editor’, ‘excerpt’, ‘custom-fields’, ‘thumbnail’ ),
Grazie, proprio quello che mi serviva.
Fantastico, sono contento di esserti stato d'aiuto.
Grazie, utile!
Felice di aiutarti, Nick,
C'è un modo per renderlo specifico per utente?
Sì, potresti fare qualcosa del genere, dovrebbe funzionare. Utilizzando un elenco di persone all'interno di un array e controllando rispetto all'utente corrente. Se l'utente non è nell'array $users, rimuovi l'editor HTML.
add_filter( ‘wp_default_editor’, create_function(”, ‘return “tinymce”;’) );
add_action( ‘admin_head’, ‘disable_html_editor_wps’ );
function disable_html_editor_wps() {
global $current_user;
get_currentuserinfo();
$users = array(“dave”, “larry”, “steve”, “ryan”);
if (!in_array($current_user->user_login, $users)) {
echo ‘#editor-toolbar #edButtonHTML, #quicktags {display: none;}’;
}
}