X

Desativar o Editor HTML do Tinymce para Todos, Exceto o Admin

Snippets por IsItWP

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.

Comentários   Deixe uma resposta

  1. WordPress Conditional Tags (And Snippets) for Beginners March 7, 2015 at 5:44 am

    […] [Fonte] […]

  2. Desabilitar e display:none; não são realmente a mesma coisa...

  3. Fredrik Persson May 27, 2014 at 10:02 am

    Parece que você pode usar o firebug e habilitá-lo novamente e usá-lo e ainda escrever javascript.
    Não é seguro.

  4. Bom trecho. Tive que usar o seguinte CSS para fazer isso funcionar: a#content-html {display: none !important;}

  5. Avinash D'Souza January 8, 2013 at 9:22 am

    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...

    1. 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

  6. 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

    1. 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’ ),

  7. Obrigado, era exatamente o que eu precisava.

    1. Legal, fico feliz em poder ajudar.

  8. Obrigado, útil!

    1. Fico feliz em ajudar, Nick.

  9. Há alguma maneira de tornar isso específico para o usuário?

    1.  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;}’;
          }

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!