Eigener Ordner für den Style der “NextGEN Gallery”

Das Plugin NextGEN Gallery bietet eine schnelle und einfache Lösung, Bildergallerien in seine Beiträge und Seiten einzufügen. Dank der Möglichkeit, eigene oder modifizierte CSS-Styles zu verwenden, kann man das Aussehen wunderbar an den eigenen Blog anpassen.

Allerdings gibt es hier einen Nachteil: Benutzt man die Autoupdate-Funktion von WordPress fehlen nach dem Update die hinzugefügten Styles und müssen neu hochgeladen werden. Da das doch etwas nervig ist, habe ich ein wirklich sehr kleines Plugin geschrieben, das den Style in einen eigenen Ordner packt. Dieser wird vom Update von NGG nicht berührt, sodass der Style erhalten bleibt.

Dazu muss zunächst diese Datei heruntergeladen werden und ins Plugin-Verzeichnis hochgeladen werden. Im Unterordner “css” wird der Style in die Datei “ngg.css” kopiert, evtl. benötigte Grafiken kommen mit in den Ordner. Nun kann das Plugin aktiviert werden. Wichtig ist jetzt noch, dass NGG nicht gleichzeitig den Style einfügt. Dafür wird im Menü “Gallery >> Style” der Punkt “Activate and use style sheet” deaktiviert.

Das war es schon. :)

“headers already sent” durch WordPress-Plugin

Die Meldung “headers already sent” wir jeder PHP-Programmierer kennen. Aus verschiedenen Gründen gibt es eine headers()-Anweisung erst nach einer Ausgabe. Das kann z.B. vorkommen wenn ein Cookie gesetzt werden soll oder sonst irgendwelche Header verändert werden sollen. Normalerweise kann man recht schnell erkennen, an welcher Stelle der Text schon ausgegeben wurde (steht ja auch direkt in der Fehlermeldung):

Warning: Cannot modify header information – headers already sent by (output started at lastfm.php:1) in pluggable.php on line 391

Komisch war aber schon, dass auch im an den Browser gelieferten HTML-Quelltext nichts stand. Normalerweise findet sich dort zumindest mal ein <body>. Und in der lastfm.php fand sich ebenfalls nichts (der “übliche” Fehler mit dem Leerzeichen vor <?php fiel also weg).

Letztendlich war es eine einfache Ursache, aber mit bloßem Auge nicht sichtbar: Es wurden tatsächlich keine sichtbaren Zeichen gesendet. Allerdings hatte ich die Datei als UTF-8 gespeichert – und da gibt es standardmäßig ein Byte Order Mark (BOM). Das sind drei Byte am Anfang der Datei, die signalisieren, dass es sich um das UTF-8-Format handelt. Diese wurden beim Einbinden des Plugins immer gesendet, und wenn danach noch ein Header-Befehl kommt, dann erscheint eben diese Fehlermeldung. Umgehen kann man das, indem man einfach seinen Texteditor anweist, die Datei ohne BOM zu speichern.

Workaround: Eingebettetes Flash-Objekt verursacht Flackern beim Seitenwechsel

Es sind immer die eigentlich kleinen Details, für die man die meiste Zeit braucht. Eben hatte ich das Vergnügen, wieder eines zu entdecken: Mir fiel auf, dass das Navigieren durch die Seiten nicht so “weich” verlief wie ich das gerne gehabt hätte. Da ich momentan noch so gut wie keinen Inhalt auf den Seiten habe, wäre zu erwarten gewesen, dass große Teile des sichtbaren Bereichs beim Seitenwechsel einfach gleich bleiben. Das war aber leider nicht so, denn jedes Mal, wenn ich einen Link angeklickt habe hat Firefox die komplette Seite neu gezeichnet, was sich durch eine Art “Flackern” bemerkbar machte. :?
(mehr…)