Support » Allgemeine Fragen » Unerwünschtes Endtag nach Update auf Version 4.7.1

  • Hallo,

    nachdem ich WordPress auf die Version 4.7.1 aktualisiert habe produziert es nach einigen Bildern ein unerwünschtes </p> Endtag.

    Beispiel:

    
    <div class="box">
    <img class="alignnone size-full wp-image-159" src="http://xxx.de/wp-content/uploads/eureweb480x240Gemeinsam.jpg" alt="eureweb480x240Gemeinsam"  /></p>
    <div class="boxtitle"><a href="http://xxx.de/gemeinsam-zur-schule/">Gemeinsam zur Schule</a></div>
    </div>

    In den vorherigen Versionen war alles in Ordnung.

    Ich habe meine functions.php erweitert…

    function replace_tag($content)
    {
    	return str_replace('</p>','', $content);
    }
    add_filter('the_content','replace_tag', 99);

    … um das </p> zu entfernen. Leider ohne Erfolg.
    Mit anderen Tags, wie z.B. dem img-Tag funktioniert es, nur mit dem </p> Tag nicht.

    Ich kann es mir nicht erklären.

    Hat jemand schon mal ein ähnliches Problem gehabt oder einen Lösungsansatz?

    Vielen Dank

    Ingo

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Moderator espiat

    (@espiat)

    Hallo. Bei einem Update werden generell keine Daten (Postinhalte) neu in die DB geschrieben. Prüfe erst einmal, ob der </p> Tag schon in der DB steht oder erst beim generieren der Site zustande kommt.

    Hinweis zu deinem Code:

    function replace_tag($content)
    {
    $content = str_replace('</p>','', $content);
    return  $content;
    }
    add_filter('the_content','replace_tag', 99);

    Kann es sein, dass an deiner Stelle im Theme sogar der excerpt genommen wird anstelle the_content?

    • Diese Antwort wurde geändert vor 3 Jahre, 6 Monaten von espiat.

    Hallo,

    in die Datenbank hatte ich schon einen Blick geworfen, da steht alles sauber drin.

    Nein, the_content ist schon richtig. Wie gesagt, mit anderen Tags funktioniert es auch.

    Irgendwie muss beim generieren der Seite die </p> erzeugt werden.

    Damit du nicht manuell Zeilenumbrüche und vor allem Absätze eingeben musst, macht das WordPress für dich, genauer gesagt, der wpautop-Filter.

    Dieser Filter sucht z.B. nach doppelten Zeilenumbrüchen und ersetzt sie durch Absätze. Er setzt auch nach jedem Blockelement einen Absatz.

    Ist nach dem Bild vielleicht ein Zeilenumbruch?

    Gruß, Torsten

    Hallo Ingo,

    Ich habe meine functions.php erweitert…
    … um das </p> zu entfernen. Leider ohne Erfolg.

    Sei froh, dass es keinen Erfolg zeigt. Das Endtag ist für normale Absätze obligatorisch, ein generelles Entfernen von </p> würde noch weitaus größere Probleme nach sich ziehen.

    Hast du die Seite mal mt dem W3C-Validator überprüft? Vielleicht hilft die allgemeine HTML-Fehlerbeseitigung letztendlich beim /p Problem.

    @torsten:
    Nach dem Bild ist leider kein Zeilenumbruch.
    Mit einem kompletten Absatz könnte ich ja auch leben, aber WP gibt ja nur ein Endtag aus.

    @angelika:
    Klar ist das Endtag obligatorisch, die Funktion die ich geschrieben hatte ist auch nur vereinfacht dargestellt. Zeigt aber, dass das </p> Tag nicht aus der Datenbank kommen kann, sondern irgendwie von WP generiert wird.

    Der Validator ist sehr zufrieden mit dem Code. Einzig und allein die </p> bemängelt er.
    Aber die bemängele ich ja auch. 😉

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Unerwünschtes Endtag nach Update auf Version 4.7.1“ ist für neue Antworten geschlossen.