X

Deshabilitar el editor HTML de Tinymce para todos excepto el administrador

Snippets de IsItWP

¿Estás buscando una forma de deshabilitar el editor HTML de TinyMCE para todos excepto para el administrador? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para deshabilitar el editor HTML de TinyMCE para todos excepto para el administrador en WordPress.

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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>';
	}
}

Alternativamente, podrías usar este fragmento, que deshabilitará TinyMCE para todos excepto para la lista especificada de usuarios. Agrega este código al archivo functions.php de tu tema o a 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 agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo agregar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera revisar nuestros otros artículos en el sitio como: los 27 mejores temas de WordPress para negocios para tu 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 March 7, 2015 at 5:44 am

    […] [Fuente] […]

  2. Deshabilitar y display:none; en realidad no son lo mismo...

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

    Parece que puedes usar firedebug y habilitarlo de nuevo y usarlo y aún así escribir javascript.
    No es seguro.

  4. Buen fragmento. Tuve que usar el siguiente CSS para que esto funcionara: a#content-html {display: none !important;}

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

    Hola Kevin,

    Me encantaría ver que este código siga activo... ¿hay alguna posibilidad de una actualización para WP 3.5?

    Hasta ahora, no veo que esto funcione...

    1. Avinash D’Souza:
      ¡esto me funciona! – reemplaza la parte del estilo por esto:

      html.wp-toolbar
      body.wp-admin div#wpwrap 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. Hola Kevin — gran fragmento y aprendí de él, como aprendo de la mayoría de tu código. Seguimiento extraño, ¿cómo podemos deshabilitar el área de texto por completo? ¡¿QUÉ!!!! LOL
    Ok, tengo un tipo de publicación personalizado con nada más que campos personalizados para la entrada (usando el plugin de plantilla de campos personalizados) y todo el código está en la plantilla php de la publicación personalizada. Sé que tiene algo que ver con 'display: none'  pero no sé cuál es el código de "display". Creo que puedo ponerlo en una hoja de estilo separada con add_editor_style y usar una condición if (is_singular) para mostrar solo en la publicación personalizada.

    Gracias

    1. Hola Mike, puedes eliminar el Editor del tipo de publicación personalizado eliminando esas opciones del array 'supports' dentro del código de tu tipo de publicación personalizado.

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

  7. Gracias, justo lo que necesitaba.

    1. Genial, me alegra haber podido ayudar.

  8. ¡Gracias, útil!

    1. Me alegra ayudar, Nick.

  9. ¿Alguna forma de hacer esto específico para el usuario?

    1.  Sí, podrías hacer algo como esto, debería funcionar. Usando una lista de personas dentro de un array y comprobando contra el usuario actual. Si el usuario no está en el array $users, eliminas el 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;}’;
          }

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!