Der Editor schreibt selbst …

  • Klagen über den HTML-Editor kommen ja öfters, deshalb habe ich ihn auch schon ausgeschaltet; mein Problem wird dadurch leider nicht behoben:

    Ich gebe folgendes in das Textfeld ein:

    Speichere ich die Seite ab und rufe sie im Browser auf, steht dort folgendes:

    Wo kommt nun bitte jeweils das <p>-Tag vor "Tab X Content" her? Ich habe auch schon versucht,

    Code
    <p>Tab X Content</p>

    einzutragen, aber am Ende steht im Quellcode immer

    Code
    <p>Tab X Content</div>

    Bin wirklich am verzweifeln ... weiss jemand Rat?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das ist nicht der Editor, sondern die automatische Formatierung von WordPress selbst. Sie soll dafür sorgen, dass das Gebloggte semantisch korrektes HTML ist. Tut sie aber eher schlecht. (Abgesehen davon: Dein obiger Kode ist auch inkorrekt; von daher liegt im konkreten Fall die Schuld wohl eher bei Dir.)

    Wenn Du die Funktion deaktivieren möchtest, kannst Du in Deine header.php irgendwo den folgenden PHP-Schnipsel setzen:

    PHP
    <?php remove_filter('the_content', 'wpautop'); ?>

    Aber: das bedeutet auch, dass Du alle Deine Beiträge komplett selbst mit HTML formatieren musst (vor allem Absätze)!

  • Aber wehalb sehe ich denn bitte im HTML Source-Editor nicht den "echten" Quellcode? Dort ist bei der Eingabe noch alles okay (<p>Text</p></div>), wenn ich dann jedoch auf "Aktualisieren" klicke, sehe ich beim Reload der Seite ja kurz den Code in der Textarea (bevor die Formatierung des HTML-Editors greift) – und da sehe ich bereits den falschen Code (<p>Text</div>). Wenn ich dann wieder den Source-Editor aufrufe, bekomme ich jedoch den korrekten Code (<p>Text</p></div>)präsentiert! Seltsam, oder?

  • Also ich habe mir jetzt auch nochmals die Datenbank angesehen. Darin steht folgendes:

    Code
    <div class="tabset_content" id="tab1">
    <h2 class="tabset_label">Tab 1</h2>
    Tab 1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    </div>

    Also überhaupt keine <p>-Tags. Im HTML-Source-Editor steht allerdings:

    Code
    <div class="tabset_content" id="tab1">
    <h2 class="tabset_label">Tab 1</h2>
    <p>Tab 1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
    </div>

    So sollte es sein. Im Browser-Quellcode kommt am Ende jedoch folgendes raus:

    Code
    <div class="tabset_content" id="tab1">
     <h2 class="tabset_label">Tab 1</h2>
    <p>Tab 1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
     </div>

    Hier fehlt also das schließende <p>-Tag. Wenn ich in der header.php das von dir vorgeschlagene <?php remove_filter('the_content', 'wpautop'); ?> verwende, entspricht der Quellcode am Ende dem Datenbank-Eintrag. Aber sollte nicht hier dann auch die <p>-Tags enthalten sein? Wieso wird das nicht in die Datenbank eingetragen?

  • WordPress versucht, fehlerhaftes HTML zu korrigieren. Diese Funktion produziert manchmal Fehler, und man kann sie abschalten (Optionen -> Schreiben).

    Abgesehen davon versucht WordPress trotzdem, Zeilen, die nicht in einem <p>-Tag versehen sind, nachträglich als Absätze zu formatieren. Diese Funktion lässt sich nicht deaktivieren, sondern muss mit dem o.g. Hack ausgeschaltet werden.

    Aber sollte nicht hier dann auch die <p>-Tags enthalten sein? Wieso wird das nicht in die Datenbank eingetragen?

    Weil die Filter erst bei der Ausgabe angewendet werden!

  • Könnte es nicht auch ein Bug/Fehlverhalten von WordPress sein? Wieso schreibt es denn alle anderen Tags in die Datenbank, nur keine Absätze? Wenn ich den Absatztext als h3 formatiere, werden diese Angaben in die Datenbank übernommen. Was ist denn bitte der Grund, weshalb <p> beim Eintragen ignoriert wird? Mir erschließt sich der Sinn da nicht ganz ... Die XHTML-Korrektur ist übrigens ausgeschaltet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!