WordPress für angemeldete Nutzer valide machen

WordPress gibt standardmäßig validen XHTMLCode aus.

Das ändert sich aber leider, wenn Du eingeloggt bist. Dann gibt es bei allen Seiten mit dem Kommentarfeld folgende Warnung durch Validatoren:

1
ID "_wp_unfiltered_html_comment" uses XML ID syntax

Damit ein ID Attribut konform mit der Spezifikation für (X)HTML-Dokumente ist, muss die ID

  • mit einem Buchstaben beginnen und
  • darf nur Buchstaben, Ziffern, Bindestriche, Unterstriche, Doppelpunkte und Punkte enthalten.

Diese Warnung ist ärgerlich, zumal ich diese durch HTML-Tidy, einem Addon für den Browser Firefox automatisch angezeigt bekomme und dann häufig vorsichtshalber kontrolliere, ob nicht vielleicht noch weitere Warnungen existieren.

Durch Zufall bin ich heute im Forum von WordPress Deutschland auf die Lösung gestoßen, wie diese Warnung behoben werden kann.

In der comments.php des aktiven Themes musst Du direkt vor

1
<?php do_action('comment_form', $post->ID); ?>

folgende Codezeile einfügen oder in die functions.php des Themes kopieren:

1
<?php remove_action('comment_form', 'wp_comment_form_unfiltered_html_nonce'); ?>

Bei mir hat es funktioniert und nun wird mir mein WordPress-Blog (Frontend) auch valide gezeigt, wenn ich eingeloggt bin.

Bleibt jetzt nur noch zu hoffen, dass

  • möglichst viele Theme-Autoren ihre WordPressThemes möglichst bald entsprechend ergänzen und
  • die Validierungsprobleme im Administrationsbereich (Backend) von WordPress möglichst bald von den Entwicklern behoben werden.

23 Kommentare und 1 Trackback/Pingback

  1. 1. Kretzschmar

    Kommentar vom 31. Mai 2009 um 10:14

    Warum nur halten so viele User stur an einer 100-prozentigen Gültigkeit fest. Sehr häufig gibt es gute Gründe, davon abzurücken.

    Da der „Fehler“ nicht im Template erzeugt wird, sondern das _noonce-Feld von WordPress automatisch erzeugt wird, sollten Theme-Autoren auf gar keinen Fall diesen Filter einfach entfernen. Wenn es sich tatsächlich um einen „Fehler“ handelt, muss dieser (und wird) in WordPress selbst beseitigt werden – einfach mal ein Ticket im Trac schreiben.

  2. 2. Dieter

    Kommentar vom 31. Mai 2009 um 10:45

    Warum nur halten so viele User stur an einer 100-prozentigen Gültigkeit fest.

    Weil validierender (X)HTML-Code ein Qualitätsmerkmal für eine gute Webpräsenz ist?

    Sehr häufig gibt es gute Gründe, davon abzurücken.

    Diese Gründe kenne ich nicht. Wäre nett, wenn Du da Beispiele anführen könntest.

    Beispielsweise zeigt mir auf Deiner Website die Startseite 20 Validierungsfehler an.

    Unter anderem bei den Videos sind die meines Erachtens überflüssig. Ich binde zwar hier die Videos mit Quelltext ein, aber das WordPress-Plugin Smart Youtube sollte das inzwischen auch können.

  3. 3. Dieter

    Kommentar vom 31. Mai 2009 um 18:35

    Da der „Fehler“ nicht im Template erzeugt wird, sondern das _noonce-Feld von WordPress automatisch erzeugt wird, sollten Theme-Autoren auf gar keinen Fall diesen Filter einfach entfernen.

    Für was ist denn der Code gut, der die Validität beeinträchtigt, wenn man eingeloggt ist?

    Ich habe durch meinen Ergänzungsvorschlag bisher keine negative Nebenwirkungen feststellen können. Du?

    Gerne korrigiere ich diesen Blogbeitrag, wenn Du oder ein anderer Besucher mir eine überzeugende Begründung lieferst.

    Wenn es sich tatsächlich um einen „Fehler“ handelt, muss dieser (und wird) in WordPress selbst beseitigt werden – einfach mal ein Ticket im Trac schreiben.

    Zum einem fehlen mir leider noch die notwendigen PHP-Kenntnisse um die programmtechnische Ursache des Problems beschreiben zu können.

    Zum anderen scheinen die Programmierer von WordPress manchmal seltsame Vorstellungen bezüglich des Lösens von gemeldeten Fehlern im Trace zu haben (siehe bspw. Ticket #8665 und den heutigen Nachtrag in meinem Blogbeitrag „Pingback-Problem bei WordPress 2.7 beheben„).

  4. 4. alte Kiehvotz

    Kommentar vom 7. Juli 2009 um 18:16

    Aber welchen Sinn macht es, das „Backend“ (also die Seite im eingeloggten Zustand) valide zu machen?

    Auf diesen Seiten kommen doch die Suchmaschinenbots eh nicht, um dort evtl. irgendwelche Fehler zu bemängeln. Und solange die Seite nicht vollkommen defaced (entstellt oder falsch angezeigt) wird, wäre doch eigentlich alles in Butter.

  5. 5. Dieter

    Kommentar vom 7. Juli 2009 um 20:14

    @alte Kiehvotz
    Zum einem ist valider Code ein Qualitätsmerkmal, das nicht nur für Suchmaschinenbots von Vorteil ist, sondern auch die Risiken von Fehldarstellungen in dem einem oder anderen Browser reduzieren hilft.

    Zum anderen gibt es WordPress-Installationen, bei denen mehr als nur ein Administrator Zugriff auf das Backend hat. So kann es beispielsweise ein Autorenteam geben usw.

    Es ist einfach ein Zeichen für eine guten Code- und Programmierqualität, wenn möglichst alle Seiten validieren.

  6. 6. alte Kiehvotz

    Kommentar vom 9. Juli 2009 um 20:35

    Naja, aber gerade bei solch einem „kleinen Fehler“ ist wohl kaum die richtige Darstellung gefährdet.

    Wäre mein Blog im normalen Zustand nicht valide, würde mich das vielleicht auch stören, aber bei solch einer Situation wäre mir der Fehler wohl egal.

  7. 7. Dieter

    Kommentar vom 9. Juli 2009 um 21:22

    @alte Kiehvotz
    Bei dem in dem Blogbeitrag genannten „kleinen Fehler“ ist in der Tat die richtige Darstellung nicht gefährdet, zumal diesen nur angemeldete Blogbenutzer erleben.

    Wie ich in dem Blogbeitrag geschrieben habe, liegt für mich das Problem als angemeldeter Blogbetreiber in der Überprüfung der Validität der Seiten. Ich zitiere:

    Diese Warnung ist ärgerlich, zumal ich diese durch HTML-Tidy, einem Addon für den Browser Firefox automatisch angezeigt bekomme und dann häufig vorsichtshalber kontrolliere, ob nicht vielleicht noch weitere Warnungen existieren.

  8. 8. Gabi

    Kommentar vom 12. Juli 2009 um 19:35

    Hallo Dieter,

    Tausend Dank für diesen Tipp :-) diese Fehlermeldung ärgert mich schon ewig.

    Vielleicht beschäftigt sich das Entwicklerteam auch irgendwann nochmal mit der unglücklichen style-Einbettung in der media.php für die WordPress-Galerie. Da ich die Galerie gern benutze, muss ich da immer von Hand bei :-(

  9. 9. Dieter

    Kommentar vom 12. Juli 2009 um 19:57

    @Gabi
    Freut mich, dass der Tipp für Dich hilfreich war.

    Die WordPress-Galerie habe ich bisher noch nicht benutzt, aber was Du da bzgl. unglücklicher style-Einbettung schreibst klingt nicht gut. Vielleicht hilft ein entsprechendes Ticket beim WordPress-Trac.

    PS: Dein Blog gefällt mir. Schön, dass Du die Seiten valide hältst.

  10. 10. Marco

    Pingback vom 22. Juli 2009 um 22:54

    […] wer von nun ab sorgenfrei ist, kann sich Gedanken dazu machen, wie man WordPress im Admin-Modus XHTML-konform bekommt oder in einem der 160 coolen WordPress Hacks […]

  11. 11. Micha

    Kommentar vom 8. November 2009 um 17:32

    Ok, mal etwas zur Klärung.
    wp_comment_form_unfiltered_html_nonce berechtigt den Administrator ungefilterte Kommentare abzugeben, zB Codeschnipsel usw.
    Hier muss ich Kretschmar ausdrücklich Recht geben, eine Entfernung durch den Themeautor wäre nicht gerechtfertigt, da er damit die Administratorrechte beschneiden würde.

  12. 12. Dieter

    Kommentar vom 8. November 2009 um 17:51

    @Micha
    Ich habe bisher nichts von einer Beschneidung meiner Rechte als Administrator beim Kommentieren bemerkt. So funktioniert hier das Kommentieren mit Codeschnipsel als Administrator bisher ohne Probleme.

    Meine bevorzugte Lösung ist, dass die Entwickler von WordPress die Validierungswarnung beseitigen. Dann bräuchte auch nicht der Themeautor oder gar der WordPress-Nutzer sich des Validierungsproblems anzunehmen.

  13. 13. Micha

    Kommentar vom 8. November 2009 um 21:53

    Dieter, ich gebe Dir Recht, dass die Entwickler solche Fehler beseitigen müssen. Aber die haben noch ganz andere Baustellen, siehe mein Beitrag bezüglich der Gallery Funktion.

  14. 14. Dieter

    Kommentar vom 8. November 2009 um 22:16

    @Micha
    So eine umfangreiche Anwendung wie WordPress deckt viele Bedürfnisse ab.

    Die Folge ist wie bei umfangreicher Software:
    Der Durchschnittsanwender nutzt nur noch einen Bruchteil der Funktionalitäten.

    Viele achten nicht auf die Validität ihrer Seite und kontrollieren sie auch nicht.
    Ich habe beispielsweise noch nie die Galerie-Funktion von WordPress genutzt.

    Wenn ich mal eine Fotogalerie mit WordPress realisieren wollte, hätte ich als erstes an das Plugin NextGEN Gallery von Alex Rabe gedacht.

    Auch wenn ich derzeit keine WordPress-Galerie brauche, sage ich schon mal danke für Deine Lösung der WordPress Galerie. Im Bedarfsfalle werde ich sie jedenfalls ausprobieren.

  15. 15. Ralf

    Kommentar vom 30. November 2009 um 15:04

    Vielen Dank für die nützliche Info bzgl. WordPress — Ich bin gerade dabei eine neue Seite aufzubauen und dafür sind derartige Ratschläge sehr nützlich für mich! Vielen Dank nochmals!

  16. 16. Dieter

    Kommentar vom 30. November 2009 um 16:14

    Bitte schön! Gern geschehen!

  17. 17. Sebastian

    Kommentar vom 28. Dezember 2009 um 14:10

    Hallo,

    bin durch Google auf euren Beitrag gestoßen, da ich auch die o.g Probleme habe.
    Der Fehler stört mich auch schon Asbach lange, nun konnte ich an Hand eures Artikels schon mal ein paar Tipps erhalten…
    Ich hoffe, dass das WordPress-Team zukünftig, wie schon Gabi erwähnte, sich mit der Galerie beschäftigt, da die manuelle Arbeit viel Zeit in Anspruch nimmt!

    Super Artikel, vielen Dank an dich Dieter, ich werde diese Seite bookmarken, in der Hoffnung weitere gute Informationen zu finden.
    Gruß

  18. 18. Dieter

    Kommentar vom 28. Dezember 2009 um 17:03

    @Sebastian
    Danke für Deinen Kommentar.
    Ich hoffe, dass Du hier auch noch weitere gute Informationen zu WordPress und allgemein zum Erstellen, Planen, Pflegen und Beenden von Webseiten findest.

  19. 19. Name-gelöscht

    Kommentar vom 15. Februar 2010 um 19:29

    Danke für den Hinweis. Hat mir sehr geholfen. :-) Und bitte wer stellt da in Frage, dass es nicht notwendig ist einen validen Code zu haben?? Tzz … schämt euch^^

  20. 20. Dieter

    Kommentar vom 15. Februar 2010 um 19:49

    Gern geschehen!
    Aber schämen muss sich hier niemand, da lediglich die Vor- und Nachteile meines Vorschlags diskutiert werden.

  21. 21. Robert

    Kommentar vom 23. April 2010 um 17:04

    Endlich! Wie lange hab ich schon danach gesucht, teilweise kommentiere ich schon die do_action-Zeile bei der Entwicklung aus. Ich denke, dass viele Entwickler, Themer, Coder usw. das Validator-Symbol als Schnellcheck nutzen, ob noch „alles in Ordnung“ ist. Springt nach dem Reload das Symbol auf das gelbe Warnschild, weiß ich sofort, ich habe bei der letzten Änderung irgendwas vergessen. Also die perfekte Schnellanzeige.
    Typischerweise ist man dabei angemeldet, so dass bei jeder Seite mit Kommentarfeld wegen dieses blöden Tags diese Möglichkeit abhanden ging.

  22. 22. Dieter

    Kommentar vom 23. April 2010 um 20:57

    @Robert
    Ja, genau dieser Schnellcheck mit dem Validator-Symbol ist für mich der Auslöser gewesen, diese Lösung einzubauen und darüber zu bloggen. :-)

  23. 23. Name-gelöscht

    Kommentar vom 18. November 2010 um 15:08

    Das mit den Codeschnipsel ist doch total schwer umzusetzen?

  24. 24. Dieter

    Kommentar vom 18. November 2010 um 20:47

    Nichts für absolute Anfänger (Laien), aber wer schon mal Theme-Dateien angepasst hat, sollte das mit Copy & Paste können.

    PS: SEO-Namen und Link habe ich gelöscht. ;-)

Kommentar schreiben (Datenschutzerklärung)

Kommentarformular





Erstkommentare und Kommentare mit Links werden moderiert.

Übersicht der Tastaturkürzel für Smilies

Abonnieren ohne einen Kommentar abzugeben

 

Durch die weitere Nutzung der Seite stimmst Du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen