X

Desactivar Tinymce Editor HTML para todos, pero Admin

Snippets by IsItWP

¿Estás buscando una forma de deshabilitar el editor HTML TinyMCE para todo el mundo excepto para el administrador? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que se puede utilizar para desactivar el editor HTML TinyMCE para todos, pero admin en WordPress.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

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>';
	}
}

También puede utilizar este fragmento de código, que desactivará TinyMCE para todos los usuarios excepto para la lista especificada. Añade este código al archivo functions.php de tu tema o en un plugin específico del sitio.

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: Si es la primera vez que añades fragmentos de código en WordPress, consulta nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente tu sitio.

Si te ha gustado este fragmento de código, por favor, considere revisar nuestros otros artículos en el sitio como: 27 mejores temas de negocios de WordPress para su sitio web y cómo configurar el seguimiento de descargas en WordPress con Google Analytics.

Comentarios   Deja una respuesta

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

    […] [Source] […]

  2. Disable and display:none; aren’t really the same thing…

  3. Fredrik Persson mayo 27, 2014 en 10:02 am

    It seems that you can use firedebug and enable it again and use it and still write javascript.
    Not safe.

  4. Nice snippet. I had to use the following CSS to make this work: a#content-html {display: none !important;}

  5. Avinash D'Souza enero 8, 2013 en 9:22 am

    Hey Kevin,

    I’d really love to see this code still being active…any chance of an update for WP 3.5?

    As of now, I don’t see this working…

    1. Avinash D’Souza:
      this works for me! – replace the style part for this:

      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. Hey Kevin — great snippet and learned from it as I do from most of your code. Bizarre follow up, how can we disable the text area altogether? WHAT!!!! LOL
    Ok, I have a custom post type with nothing but custom fields for entry (using the custom fields template plugin) and all the cod is in the custom post php template. I know it has something to do with ‘display: none’  but don’t know what the “display” code is. I think I can put it in a separate style sheet with add_editor_style and use an if (is_singular) condition to show only on the custom post.

    Thanks

    1. Hi Mike, you can remove the Editor from the custom post type by removing that options from the supports array within your custom post type code.

      ‘supports’ => array( ‘title’, ‘editor’, ‘excerpt’, ‘custom-fields’, ‘thumbnail’ ),

  7. Thanks, just what i needed.

    1. Cool glad I could be of help.

  8. Thanks, helpful!

    1. Glad to help nick,

  9. Any way to make this user specific?

    1.  Yep you could do something like this, should work. Using a list of people within an array and check against the current user. If the users not in the $users array you remove HTML editor.

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

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!