WordPress 2.5 Gallery Validation & Plugin

Die in letzter Sekunde in WordPress 2.5 eingebundene WordPress-Galerie ist leider noch mit einigen Bugs behaftet, welche einem die Fertigstellung und Nutzung (oder Auslieferung) einer validen WordPress-Galerie ziemlich erschweren können.

Want to override WP 2.5 Gallery Containers to get valid XHTML?
Check out my validation plugin…

Was mich an der integrierten WordPress-Galerie besonders verblüfft hat, war der Umstand, dass WordPress die hauseigene WordPress 2.5 Gallery in einem relativ grausamen XHTML-Code veröffentlicht hat. „WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability…“ heißt es auf wordpress.org – und normalerweise ist das tatsächlich auch der Fall. Hmmm… merkwürdig… der Trend geht irgendwie weg vom Marketing und hin zum Web-Coding. 😉

Galerie-Anforderungen eines aktuellen Projekts:

Valider XHTML-Code, Möglichkeit zum Massenupload, Möglichkeit zur Massenbearbeitung hochgeladener Bilder, Suchmaschinenoptimierung für Galerien bzw. Fotoalben und einzelne Bilder. Umsortierung von Bildern auf der Startseite (Hauptkategorie-Übersichten im Thumbnail-Format), Verwendung von Excerpts, (benutzerdefinierten) Zusatzfeldern und unterschiedlichen Bildgrößen auf Übersichten, Kategorieansichten, Detailseiten und Lightbox-Ansichten.

Nach einigen Tests mit verschiedenen Galerie-Plugins – eigentlich wollte ich die Galerie mit einem in der WordPress 2.5 Beta-Version getesteten Plugin namens Photoq Photoblog Plugin entwickeln, was auf dem Kundenserver dank PHP4 jedoch nicht möglich war – habe ich mich dazu entschlossen, zur integrierten WordPress-Galerie zurückzukehren und diese vernünftig zum Laufen zu bringen. (ACHTUNG: Der Entwickler des PhotoQ – Galerie-Plugins hat bereits ein Update bereitgestellt – „Vielen Dank für Deine außergewöhnliche Plugin-Action, Manuel!“)

Zentraler Angriffspunkt zur Optimierung der integrierten WordPress-2.5-Galerie ist eine Datei mit Namen media.php. Diese Datei befindet sich im Verzeichnis wp-includes der WordPress-Installation. Detailansichten der Bildergalerie kann man über die Datei image.php im Themes-Ordner der Galerie optimieren. Doch nun zur Lösung der verschiedenen WordPress-2.5-Galerie-Probleme:

1. Galerie Upload-Probleme auf Kunden-/Anwenderseite:

Hier und dort wird empfohlen, das Batch-Upload-Feature bei Problemen mit dem eingebauten Flash-Upload einfach abzuschalten:

„/wp-admin/includes/media.php öffnen und die Zeile 770 “$flash = false;” editieren.“

In meinem Fall hat die Kundin einfach ihren Flash-Player aktualisiert. Anschließend konnte sie das Feature fehlerfrei nutzen. Andere hatten weniger Glück, fanden aber schließlich auch noch eine Lösung für ihr Flash-Upload-Problem. Auf die Möglichkeit zum Massenupload sollte man in einer Bildergalerie nach Möglichkeit nicht verzichten.

2. Diverse Probleme mit der wohl wichtigsten Galerie-Datei, der media.php

Wer seine Bilder validieren möchte, sollte in seiner media.php zunächst die Links und Bild-Links überprüfen: Title-Attribute haben in Image-Links nichts zu suchen und Alt-Attribute haben in normalen Links nichts zu suchen. Für Bilder ohne Alt-Tag weist der XHTML-Validator (www.w3.org) normalerweise Fehlermeldungen aus, die man im Notfall auch durch ein leeres Alt-Tag (alt=““) recht simpel vermeiden kann.

Korrekturvorschlag für Zeile 99 (quick and dirty):
$html = '<img src="'.attribute_escape($img_src).'" alt="'.attribute_escape($alt).'" '.$hwstring.'class="align'.attribute_escape($align).' size-'.attribute_escape($size).' wp-image-'.$id.'" />';

Korrekturvorschlag für Zeile 327 (quick and dirty):
$html = '<img src="'.attribute_escape($src).'" alt="" '.$hwstring.'class="attachment-'.attribute_escape($size).'" />';

Weitere Validierungsvorschläge finden sich im WordPress Trac. Sie werden mit dem WordPress 2.5.1-Update zur Verfügung gestellt werden.

Problematischen Galerie-Code mit Plugin überschreiben:

Schlimmer als die oben genannten Probleme sind jedoch Verschachtelungsfehler, die auf den Ausgabeseiten der WordPress-Galerie zu erheblichen Störungen führen können. Für diese Präsentations- bzw. XHTML-Fehler habe ich ein kleines „Galerie-Korrektur-Plugin“ geschrieben:

Das WordPress 2.5 Gallery Validation Plugin filtert die Verschachtelungsfehler aus der wp-includes/media.php heraus, kann helfen, die fehlerhafte Einblendung von CSS-Skripten im Body-Bereich der Galerie zu verhindern und erlaubt es dem Nutzer sowohl die Verschachtelungen der Galerie-Container als auch die Optik (CSS-Stylesheet) zu korrigieren, ohne in den WordPress Code der Galerie selbst eingreifen zu müssen.

Dazu habe ich das „Gallery Validation Plugin“ in jeweils eine Datei für Plugin und CSS aufgeteilt. Das Plugin führt keine Datenbankänderungen durch, sondern modifiziert lediglich die Ausgabe der Datenbankabfragen. Man kann damit also nichts kaputt machen und beliebig experimentieren, bis neue WordPress-Versionen erscheinen. (Dann einfach abschalten und mit neuem WordPress-Code weitermachen…)

Wer möchte, nutzt das Plugin wie immer kostenlos – und auf eigene Gefahr. 😉

Download WordPress 2.5 Gallery Validation Plugin

Installationshinweise:

1. Zip-Datei downloaden und entpacken.
2. Plugin-Ordner komplett in das verzeichnis wp-content/plugins/ hochladen
( -> wp-content/plugins/fob-gallery-validator/ ).
3. WP 2.5 Gallery Validation Plugin aktivieren.
4. Plugin und CSS-Dateien beliebig anpassen und nutzen.

P.S.: Alternativ kann man die CSS-Regeln des WordPress 2.5 Validation Plugins auch in das gegenwärtig genutzte Stylesheet kopieren und den Plugin-Code in die functions.php des aktuellen Themes.

Nachtrag:

In der Voreinstellung habe ich für Galerie-Übersichten den Caption-Teil deaktiviert, weil mich die Texte in Album-Übersichten gestört haben. Falls jemand dort Texte für Einzelbilder anzeigen möchte, muss er die Deaktivierung im Plugin-Code entfernen ( /* */ ). Die Thumbnail-Übersichten sind für 100-120 Pixel breite Fotos eingestellt. Dies lässt sich in der CSS-Datei des Plugins ändern.

WordPress 2.5 Gallery Validation & Plugin

Benutzerinformation und Links:

11 Kommentare zu “WordPress 2.5 Gallery Validation & Plugin”

  1. whoismanu

    hm, schade wegen photoq. ich habe dir vor ein paar tagen (8.4.2008) sogar ne email mit einem patch geschickt, aber nie ne antwort gekriegt. ist wohl irgendwo untergegangen…wenn du willst schick ichs dir gern nochmals, vielleicht kriegt photoq dann ja noch ne zweite chance ;-). also, wenn du noch interessiert bist, so lass es mich doch bitte wissen. gruss manuel.

  2.   fob

    Oh. Ich habe ab und zu nach Antworten im Blog geschaut. Hmmm… Werde gleich mal meinen Spam-Filter durchsuchen und bei der nächsten Galerie noch einmal Vor- und Nachteile abwägen. Auf die Lösung bin ich in jedem Fall gespannt. Auch wenn`s dumm gelaufen ist – vielen Dank für Deine Nachricht!

    Nachtrag: Mail im Junk-Filter gefunden. Antwort kommt per E-Mail…

  3. daniel

    Vielen Dank für deine Anleitung, ich werde mich jetzt gleich daran machen mein WordPress zu akualisieren.

  4. […] Hier gehts zum Download des WordPress 2.5 Gallery Validation & Plugin […]

  5. Monika

    Hi ich habe es auf texto.de veröffentlicht, dann gehts über den neuen WordPress Planet raus,

    das war mir doch glatt auch einen Direktlink wert auf die Deine da 😉

    lg

  6.   fob

    Oh. Supi! Herzlichsten Dank. 😉

  7. […] jüngsten Galerie-Tests nebst WordPress-Plugin hatten natürlich einen […]

  8. Sara

    Danke für das Valid. Plugin, hab es heute erst entdeckt.. Du solltest es bei WordPress ins Extend-Plugin Verzeichniss eintragen – ist ja schließlich ein klasse Plugin und für alle, die die (na prima) eigene WordPress 2.5 Galerie nutzen, sehr wichtig – jedenfalls so lange, bis 2.5.1 released wird.. und wer weiß, vielleicht dann immer noch (etwas abgeändert..);

    Wünsche einen schönen Abend 😉

    lg
    Sara

  9. Wordpress 2.5.1 : Zahnarzt Wiesbaden

    […] Oliver Bockelmann nicht mit einer Problembeschreibung zufrieden, sondern er liefert auch gleich ein Gallery Validation Plugin. Die einzige Enttäuschung war das Upgrade meines Statistik-Plugins Counterize II. Der Plugin-Autor […]

  10. spine

    hey, in deiner css datei ist ein . zuviel bei der ..clear klasse 😉

  11.   fob

    Sorry. Dies war „nur“ in der Download-Version der Fall. Danke für den Hinweis. Ist korrigiert. 😉


fob marketing Marketing Consulting Hamburg Marketing Werbung Internet PR Suchmaschinenoptimierung Kontakt Impressum Datenschutz