Entfernung von <p>-Tag durch Capture

  • Hallo!

    Mir ist kürzlich ein ärgerliches Validierungsproblem aufgefallen:

    Ich nutze grundsätzlich nur den Texteditor, nicht die visualisierte Ansicht.
    Wordpress wickelt doppelte Zeilenumbrüche als Absatz ja automatisch in <p></p> ein, das ist auch gut so und ich möchte es nicht deaktivieren. Allerdings habe ich nun festgestellt, dass das öffnende <p> eines Absatzes entfernt wird, wenn ich zu Beginn eines Absatzes eine Mediendatei (Bild) einfüge. Im Editor selbst wird es als [caption] eingefügt, im fertigen Quelltext wird es naturgemäß noch von einem figure umschlossen, was ja auch richtig so ist. Allerdings wird dadurch tatsächlich der p-Tag entfernt, wodurch es ein Validierungsproblem gibt, da das schließende </p> vom Absatz vorhanden bleibt.

    Wem fällt ein Workaround dazu ein?

    Vielen Dank!

    • 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

  • Bitte auf die aktuelle WordPress Version updaten und dann erneut testen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hast Du es mit einem anderen Theme getestet

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ich habe das in meiner Sandkiste nachgestellt, d.h. es probiert. (Ist keine ganz vanilla Installation, dazu war ich zu faul.)

    WordPress fügt automatisch einen caption-Shortcode ein, wenn man in der Mediathek zum Bild eine Bildbeschreibung einträgt und man das Bild dann über den Einfügen-Button in die Seite einfügt.
    Bei mir klaut der Shortcode allerdings nicht das öffnende p-Tag, sondern das schließende. Und das passiert auch, wenn das Bild an beliebiger Stelle im Absatz eingebunden ist, nicht nur zu Beginn des Absatzes.

    Zwei Workarounds:
    * Einen eigenen caption-Shortcode anlegen, der dann den core-Shortcode überschreibt.
    * Als Bug bei wordpress.org melden -> dafür aber nochmal den Fehler in einer vanilla-Umgebung ausgiebig testen.

    Gruß
    helix

    ---

    Nachsatz: Danke scavenger für den Hinweis. Ich wusste noch gar nicht, dass WordPress jetzt automatisch die Caption mit ausgibt – seit welcher Version? (Tz, was man so alles verpennt …)

  • Danke für die aktuellen Antworten und Eure Hilfe!

    @mensmaximus -> Mit dem Theme das dieses Problem grundsätzlich nichts zu tun. Dies wurde mir vom Herausgeber des Themes nach einer Nachfrage auch nochmals bestätigt. Es ist ein reines Wordpress-Problem

    @helix -> Das ist aber sehr seltsam, bei mir verschwindet das öffnende <p>, in Deiner Testumgebung das schließende </p>. Komisch.
    Zu Deinem Workaround Nr. 1 habe ich leider keinen blassen Schimmer, aus welcher Datei Wordpress den Shortcode zieht und selbst wenn ich wüsste, wäre mir nicht bekannt, wie ich den Code modifizieren muss, damit das <p> nicht verschwindet.

    Ich werde versuchen, das Problem mal als Bug zu melden.

  • Ich ruder mal ein bisschen zurück: Wenn man genauer hinguckt, ist es nicht wirklich ein Bug – aber eben auch so, wie es „angeboten“ wird, nicht wirklich benutzbar.

    Der Caption-Shortcode gibt ein figure-Element aus. <figure> ist ein Block-Element. Was soll die wpautop-Funktion damit anstellen, wenn der User im Editor ein Block-Element mitten in den Text stellt, als ob es ein Inline-Element wäre?

    Heißt: Wenn es mir wichtig ist, valides HTML auf meiner Seite zu haben, stelle ich Bild mit Bildbeschriftung (die von WordPress mittels Caption-Shortcode in ein figure-Element gepackt werden) schön in eigene Absätze. Den Textfluss muss man dann eben anders organisieren.
    Und das ist dann wirklich wieder eine Sache von Theme bzw. CSS.

    Gruß
    helix

  • Einfach wpautop abschalten

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

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