Você está procurando uma maneira de desabilitar o editor HTML TinyMCE para todos, exceto para o administrador? Embora provavelmente exista um plugin para isso, criamos um trecho de código rápido que você pode usar para desabilitar o editor HTML TinyMCE para todos, exceto para o administrador no WordPress.
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:
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>';
}
}
Alternativamente, você pode usar este trecho, que desativará o TinyMCE para todos, exceto para a lista especificada de usuários. Adicione este código ao arquivo functions.php do seu tema ou a um plugin específico do site.
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>';
}
}
Observação: Se esta é a sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 27 melhores temas de negócios WordPress para o seu site e como configurar o rastreamento de downloads no WordPress com o Google Analytics.
[…] [Fonte] […]
Desabilitar e display:none; não são realmente a mesma coisa...
Parece que você pode usar o firebug e habilitá-lo novamente e usá-lo e ainda escrever javascript.
Não é seguro.
Bom trecho. Tive que usar o seguinte CSS para fazer isso funcionar: a#content-html {display: none !important;}
Olá Kevin,
Eu realmente adoraria ver este código ainda ativo... há alguma chance de uma atualização para o WP 3.5?
No momento, não vejo isso funcionando...
Avinash D’Souza:
isso funciona para mim! – substitua a parte do estilo por isto:
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
Ei Kevin — ótimo snippet e aprendi com ele, como aprendo com a maioria do seu código. Seguimento bizarro, como podemos desabilitar a área de texto completamente? O QUÊ!!!! LOL
Ok, eu tenho um tipo de post personalizado com nada além de campos personalizados para entrada (usando o plugin de template de campos personalizados) e todo o código está no template php do post personalizado. Eu sei que tem algo a ver com 'display: none' mas não sei qual é o código de "display". Acho que posso colocá-lo em uma folha de estilo separada com add_editor_style e usar uma condição if (is_singular) para mostrar apenas no post personalizado.
Obrigado
Olá Mike, você pode remover o Editor do tipo de postagem personalizado removendo essas opções do array 'supports' dentro do seu código de tipo de postagem personalizado.
‘supports’ => array( ‘title’, ‘editor’, ‘excerpt’, ‘custom-fields’, ‘thumbnail’ ),
Obrigado, era exatamente o que eu precisava.
Legal, fico feliz em poder ajudar.
Obrigado, útil!
Fico feliz em ajudar, Nick.
Há alguma maneira de tornar isso específico para o usuário?
Sim, você poderia fazer algo assim, deve funcionar. Usando uma lista de pessoas dentro de um array e verificando o usuário atual. Se o usuário não estiver no array $users, você remove o 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;}’;
}