Visuellen Editor (WYSIWYG) deaktivieren und direkt in HTML schreiben

Veröffentlicht am

· von Norbert Hofmann

Kurz gesagt: Im heutigen Block-Editor schaltest du den visuellen Modus nicht ab, sondern wechselst in den Code-Editor (Drei-Punkte-Menü oben rechts oder Strg+Umschalt+Alt+M) oder nutzt für einzelne Stellen den Block „Individuelles HTML“. Im klassischen Editor deaktivierst du den visuellen Editor pro Benutzer unter Profil → „Visuellen Editor beim Schreiben deaktivieren“. Seitenweit geht es mit einer Zeile Code.

Die Frage stammt aus der Zeit des klassischen TinyMCE-Editors, der eingegebenes HTML gern „aufgeräumt“ hat. Seit WordPress 5.0 ist der Block-Editor Standard, und der funktioniert anders. Welche Lösung passt, hängt davon ab, welchen Editor du nutzt.

Block-Editor: Code-Editor und HTML-Block

Du willst …So geht es
den ganzen Beitrag als Code sehen und bearbeitenDrei-Punkte-Menü oben rechts → Code-Editor. Zurück mit „Code-Editor verlassen“.
das HTML eines einzelnen Blocks ändernBlock auswählen → Drei-Punkte-Menü in der Block-Werkzeugleiste → Als HTML bearbeiten
eigenes HTML einfügen, das der Editor nicht anfasstBlock Individuelles HTML einfügen (Suche: „HTML“). Mit „Vorschau“ siehst du das Ergebnis.
Code als Code zeigen (etwa eine Anleitung)Block Code oder Vorformatiert

Im Code-Editor siehst du zusätzlich Kommentare wie <!-- wp:paragraph -->. Das sind die Block-Markierungen, an denen WordPress die Blöcke erkennt. Löschst du sie, wird der Inhalt beim nächsten Öffnen als „Klassischer“ Block angezeigt, bleibt aber erhalten.

Klassischer Editor: Visuellen Modus abschalten

Nutzt du das Plugin „Classic Editor“ oder bearbeitest Inhalte im Klassik-Block, gibt es die Reiter „Visuell“ und „Text“. Damit der visuelle Reiter gar nicht erst erscheint:

  1. Öffne Benutzer → Profil.
  2. Setze unter „Persönliche Optionen“ den Haken bei „Visuellen Editor beim Schreiben deaktivieren“.
  3. Speichere mit „Profil aktualisieren“.

Die Einstellung gilt nur für deinen Benutzer. Andere Redakteure behalten ihren gewohnten Editor. Welche Rolle welche Rechte hat, etwa ob jemand ungefiltertes HTML speichern darf, steht in Welche Benutzerrolle bietet welche Rechte?.

Warum verändert WordPress mein HTML?

Oft liegt das gar nicht am Editor, sondern an zwei anderen Mechanismen:

  • Automatische Absätze (wpautop): Bei Inhalten ohne Block-Markierungen setzt WordPress bei der Ausgabe aus Zeilenumbrüchen <p>– und <br>-Tags. Im HTML-Block passiert das nicht.
  • HTML-Filter (KSES): Benutzer ohne die Berechtigung unfiltered_html dürfen bestimmte Tags nicht speichern, etwa <script> oder <iframe>. WordPress entfernt sie beim Speichern. Auf einer Einzelinstallation haben Administratoren und Redakteure diese Berechtigung, in einem Multisite-Netzwerk nur Super-Admins.

Für Fortgeschrittene: Per Code für alle abschalten

Den visuellen Modus des klassischen Editors für alle Benutzer abschalten (in einem kleinen Plugin oder per Code-Snippets-Plugin):

add_filter( 'user_can_richedit', '__return_false' );

Den Block-Editor für bestimmte Inhaltstypen durch den klassischen Editor ersetzen, etwa nur für Seiten:

add_filter( 'use_block_editor_for_post_type', function ( $use, $post_type ) {
    return 'page' === $post_type ? false : $use;
}, 10, 2 );

Automatische Absätze bei klassischen Inhalten abschalten. Achtung: Das betrifft alle bestehenden Beiträge ohne Block-Markierung, die dann ohne Absätze erscheinen können:

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

Die Profileinstellung setzt du für viele Benutzer auf einmal mit WP-CLI (Wert false heißt hier „visueller Editor aus“):

wp user update 1 2 3 --rich_editing=false

Frage dazu? Verschwindet dein HTML trotzdem? Zeig das Snippet im WPDE-Forum unter „Allgemeine Fragen zu WordPress“ und nenne deine Benutzerrolle.

Mehr zu den Grundeinstellungen findest du im Hub WordPress-Einstellungen, zum Classic-Editor-Plugin und anderen Erweiterungen im Hub WordPress-Plugins.

Häufige Fragen

Wie lange wird der klassische Editor noch unterstützt?

Das Classic-Editor-Plugin wird weiter gepflegt. Ein festes Enddatum wurde bisher nicht genannt, laut Plugin-Seite wird es so lange unterstützt wie nötig. Langfristig solltest du dich trotzdem auf den Block-Editor einstellen.

Mein iframe (z. B. eine Karte) verschwindet beim Speichern. Warum?

Dein Benutzer hat vermutlich keine unfiltered_html-Berechtigung, etwa als Autor oder in einem Multisite-Netzwerk. Nutze für bekannte Dienste lieber den Einbetten-Block (einfach die URL einfügen) oder lass die Stelle von einem Administrator einfügen.

Kann ich im Block-Editor standardmäßig im Code-Editor starten?

WordPress merkt sich den zuletzt genutzten Modus pro Benutzer. Wenn du den Code-Editor verlässt, öffnet der nächste Beitrag wieder visuell. Eine feste Voreinstellung gibt es im Core nicht.

Quellen

Über den Autor: Norbert Hofmann

Norbert betreibt das WPDE-Forum und hat jahrelang im technischen Support eines Webhosters täglich WordPress-Seiten betreut. Heute arbeitet er als Cyber Defense Analyst, hat Sicherheitslücken in WordPress-Plugins gefunden (veröffentlichte CVEs) und engagiert sich mit deepfake.de gegen Betrug mit Deepfakes. Mehr auf norberthofmann.com.

Weitere Antworten