Deaktivieren Sie h1 und h2 in der Rich-Text-Editor-Combobox

7

In der Wordpress-Systemsteuerung möchte ich beim Schreiben eines neuen Beitrags die Kopfzeilen 1 und 2 in der Combobox zur Textformatierung deaktivieren, da ich sie bereits für mein Thema verwende (h1 für den Namen des Blogs und h2 für die Titel der Beiträge) möchte alle Header in einem Beitrag mit h3 oder höher behalten. Ist das möglich?

Für den Fall spielt es keine Rolle, ob der Code in der HTML-Ansicht bearbeitet werden kann. Außerdem möchte ich keine internen Wordpress-Dateien bearbeiten, daher wäre ein Hack für functions.php oder ein Plugin für diese Aufgabe großartig, um diese Änderung bei zukünftigen Updates beizubehalten.

Vielen Dank!

André
quelle

Antworten:

16

Sie können viele Dinge am tinyMCE-Editor im Filter tiny_mce_before_init ändern.

http://codex.wordpress.org/TinyMCE_Custom_Buttons

Im Folgenden werden Ihre Blockformate auf p, h3, h4 und blockquote beschränkt

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

EDIT für WordPress 3.9 siehe Link

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');
Helgatheviking
quelle
2
Perfekt! Ich wusste nicht, dass ich jeden Aspekt des visuellen Editors mithilfe eines Filters steuern kann. Danke für den Tipp und für den Referenzlink!
André
Das funktioniert einfach. Ich liebe es.
Ardee Aram
3
Die Syntax hat sich ab wp 3.9 (wahrscheinlich) geändert. Jetzt sollte es sein $init['block_formats'] = "Paragraph=p;Heading 3=h3;Heading 4=h4";. Siehe wordpress.org/support/topic/…
Andreas Hultgren
1

Dies ist eine schnelle und schmutzige Lösung, die jedoch möglicherweise funktioniert, wenn Sie H1 und H2 deaktivieren möchten.

Fügen Sie diesen Code Ihrer Datei functions.php hinzu

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

Überschrift 1 und Überschrift 2 sollten jetzt ausgeblendet sein.

Molokom
quelle
Ihre Lösung ist auch sehr gut für das, was ich will, es funktioniert. Nur als Hinweis: Die mce_ <Nummer> kann für jedes Gebietsschema unterschiedlich sein (in meinem Fall Portugiesisch waren die Zahlen 4 und 5 für h1 bzw. h2). Danke für Ihre Hilfe!
André