Frisch notiert!
Die neusten Artikel aus unserem Blog.

Den WordPress-Editor TinyMCE reduzieren und Buttons entfernen

von Gino Cremer / Zuletzt aktualisiert am 21/02/2017 / Allgemein / 0
Der in WordPress eingebaute Editor TinyMCE bietet von Haus aus jede Menge Formatierungsmöglichkeiten an. Mit ein paar Häppchen Code lässt sich der Editor aber entsprechend verändern und reduzieren. Wir zeigen wie es geht.

Weg 1: Das Code-Snippet für die Datei functions.php

Der erste Weg führt uns direkt über die Datei functions.php. Diese Datei kann das Theme um Funktionen erweitern. Entsprechend kann man die Datei – insofern sie noch nicht existiert – in seinem Theme anlegen und nutzen.

Fügen Sie folgendes Code-Snippet Ihrer Datei functions.php hinzu um die TinyMCE Werkzeugleiste auf ein striktes Minimum zu reduzieren. Der Code kann den eigenen Bedürfnissen angepasst werden. Ein Minimum an PHP-Kenntnissen sollte aber vorhanden sein.

add_filter( 'mce_buttons_2', 'pix_strip_tinymce_line2');

function pix_strip_tinymce_line2( $buttons ) {
$invalid_buttons = array(
'underline', // Unterstreichen
'justifyfull', // Blocksatz
'forecolor', // Textfarbe
'pastetext', // Als Reintext einfügen
'pasteword', // Aus Word einfügen
'removeformat', // Formatierung entfernen
'charmap', // Sonderzeichen
'outdent', // Einzug verringern
'indent', // Einzug erhöhen
'undo', // Zurück
'redo', // Vor
'wp_help', // Tastaturkürzel
'strikethrough', // Durchgestrichen
'hr', // Horizontale Linie
);
foreach ( $buttons as $button_key => $button_value ) {
if ( in_array( $button_value, $invalid_buttons ) ) {
unset( $buttons[ $button_key ] );
}
}
return $buttons;
}

add_filter( 'mce_buttons', 'pix_strip_tinymce_line1');

function pix_strip_tinymce_line1( $buttons ) {

$invalid_buttons = array(
'wp_adv', // Schalter für zweite Button-Zeile
'dfw', // Full Screen Mode
'wp_more', // Weiterlesen-Tag
'link', // Link setzen
'unlink', // Link entfernen
'italic', // Kursiv
'bold', // Fett
'bullist', // Ungeordnete UL-Liste
'numlist', // Geordnete bzw. nummerierte OL-Liste
'alignleft', // Linksbündig
'aligncenter', // Zentriert
'alignright', // Rechtsbündig
'blockquote', // Zitat
'formatselect', // Auswahl-Menü Titel, Untertitel, etc.
);
foreach ( $buttons as $button_key => $button_value ) {
if ( in_array( $button_value, $invalid_buttons ) ) {
unset( $buttons[ $button_key ] );
}
}
return $buttons;
}

Was passiert hier genau? Der Editor TinyMCE besteht streng genommen aus zwei Button-Zeilen. Eine obere und eine untere. WordPress sieht zwei so genannte Filter vor um die Buttons des TinyMCE zu filtern bzw. zu verändern. Die obere Zeile der TinyMCE-Buttons wird über den Filter „mce_buttons_2“ angesprochen, während die untere Zeile über den Filter „mce_buttons“ angesteuert wird.

Wenn Sie nun verschiedene Buttons doch eingeblendet haben wollen, können Sie den Code einfach anpassen. Dazu reicht es die entsprechenden Namen der Felder zu streichen (zum besseren Verständnis habe ich die Erklärung in Kommentar daneben platziert).

Achtung beim Entfernen von sinnvollen Elementen: Es ist nicht immer sinnvoll alles zu entfernen. Man sollte eine logische Auswahl treffen, schließlich macht es Sinn, dass Redakteure ein wenig selber formatieren können. In diesem Sinne sollten Sie nicht den Anwender bevormunden, sondern mittels dieser Funktion genau die Buttons zur Verfügung stellen, die er auch tatsächlich braucht.

Vor- und Nachteile dieser Variante

Der Vorteil dieser Variante ist, dass man kein weiteres Plugin installieren muss und sein Theme entsprechend nutzen kann. Der Nachteil ist, dass im Falle eines Theme-Wechsels wieder alle Buttons zur Verfügung stehen.

Weg 2: Das Plugin TinyMCE Advanced

Wer keine Lust hat „Code zu wälzen“, kann auch auf eine Plugin-Lösung zurückgreifen. Das Plugin TinyMCE Advanced erlaubt das Entfernen und Hinzufügen von Buttons direkt über die WordPress-Oberfläche. Das Plugin ist kostenlos und kann im WordPress Plugin-Verzeichnis geladen und mit wenigen Klicks installiert werden.


Gino Cremer

Ich bin Geschäftsführer der auf Weblösungen spezialisierten Agentur Pixelbar aus dem belgischen Eupen.

Ich habe langjährige Erfahrung mit CMS-basierten Kundenprojekten, vornehmlich auf WordPress-Basis und bin ein Webdesigner der ersten Stunde.

Daneben arbeite ich auch als Dozent und Berater am WIFI Wien im Bereich Social Media und Webdesign.

Weitere Beiträge von gino anzeigen

Hinterlasse eine Antwort