X

Désactiver l’éditeur HTML de Tinymce pour tout le monde sauf l’administrateur

Snippets by IsItWP

Vous cherchez un moyen de désactiver l’éditeur HTML TinyMCE pour tout le monde sauf l’administrateur ? Bien qu’il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour désactiver l’éditeur HTML TinyMCE pour tout le monde sauf l’administrateur dans WordPress.

Instructions:

Tout ce que vous avez à faire est d’ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique à votre 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>';
	}
}

Vous pouvez également utiliser ce snippet, qui désactivera TinyMCE pour tout le monde sauf pour la liste d’utilisateurs spécifiée. Ajoutez ce code au fichier functions.php de votre thème ou dans un plugin spécifique à votre 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>';
    }
} 

Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la façon d’ajouter correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.

Si vous avez aimé cet extrait de code, n’hésitez pas à consulter nos autres articles sur le site comme : 27 meilleurs thèmes WordPress pour votre site web et comment configurer le suivi des téléchargements sur WordPress avec Google Analytics.

Commentaires   laisser une réponse

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

    […] [Source] […]

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

  3. Fredrik Persson mai 27, 2014 à 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 janvier 8, 2013 à 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;}’;
          }
      }

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre privacy policy, et que tous les liens sont en nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Engageons une conversation personnelle et constructive.

WordPress Launch Checklist

L'ultime liste de contrôle pour le lancement de WordPress

Nous avons rassemblé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi le gratuit !