web-dev-qa-db-fra.com

Désactiver h1 et h2 à partir d'une liste déroulante d'éditeur de texte enrichi

Dans le panneau de configuration de Wordpress, lors de la rédaction d'un nouveau message, j'aimerais désactiver les en-têtes 1 et 2 de la liste déroulante de mise en forme du texte, car je les utilise déjà sur mon thème (h1 pour le nom du blog et h2 pour les titres du message), et aimerait garder tous les en-têtes dans un poste avec h3 ou plus. Est-ce possible?

Peu importe le cas, si le code peut être modifié dans la vue HTML. De plus, je ne veux pas éditer les fichiers internes de Wordpress, aussi un hack pour functions.php ou un plugin serait-il idéal pour cette tâche, afin de préserver cette modification lors de futures mises à jour.

Je vous remercie!

7
André

vous pouvez changer beaucoup de choses à propos de l'éditeur tinyMCE dans le filtre tiny_mce_before_init.

http://codex.wordpress.org/TinyMCE_Custom_Buttons

ce qui suit va limiter vos formats de blocs à p, h3, h4 et blockquote

function wpa_45815($arr){
    $arr['theme_advanced_blockformats'] = 'p,h3,h4,blockquote';
    return $arr;
  }
add_filter('tiny_mce_before_init', 'wpa_45815');

EDIT for WordPress 3.9 voir lien

function wpa_45815($arr){
    $arr['block_formats'] = 'Paragraph=p;Heading 3=h3;Heading 4=h4';
    return $arr;
  }
add_filter('tiny_mce_before_init', 'wpa_45815');
15
helgatheviking

Ceci est une solution rapide et sale, mais cela peut fonctionner si votre objectif est de désactiver H1 et H2.

Ajoutez ce code à votre fichier functions.php

function custom_css() {
echo '<style type="text/css">
       #menu_content_content_formatselect_menu #mce_9, #menu_content_content_formatselect_menu #mce_10 {display:none;}
     </style>';
}

add_action('admin_head', 'custom_css');

Les titres 1 et 2 devraient être cachés maintenant.

1
molokom