Fallstricke beim Upgrade auf Wordpress 2.7
admin | 30. December 2008Hier mal wieder ein beitrag, der sich nicht direkt mit Ubuntu beschäftigt, von dem ich aber auch nicht weiß, wo ich ihn besser hinpacken sollte als hier. Vielleicht hilft es dem ein oder anderen Ubuntu-interessierten Leser ja auch. Mit Version 2.7 von Wordpress hat sich einiges geändert. Hier möchte ich ein paar Fallstricke und deren Lösung auflisten.
Zunächst habe ich Wordpress 2.6 mit dem Wordpress Automatic Update Plugin auf die version 2.7 aktualisiert. Dabei sollte man beachten, dass Wordpress 2.7 die Datenbankstruktur anpassen muss. Danach kann man das Automatic Upgrade Plugin löschen, da Wordpress 2.7 seinen eigenen Upgrade-Mechanismus mitbringt. Dann sollte man die anderen installierten Plugins auf Vordermann bringen. Dazu bringt Wordpress ebenfalls automatische Upgrades mit.
In meinem Fall habe ich das NextGen Gallery Plugin aktualisiert. Auch das NextGen Plugin benötigt eine Aktualisierung der Datenbanken, die man gleich vornehmen sollte. Beim Hochladen von Bildern habe ich als nächtest jedoch eine Fehlermeldung erhalten, die besagte, dass Thumbnails nicht erstellt werden konnten. Typisch für diese Fehlermeldung ist die Ausgabe “A failure occurred” und “[object XMLHttpRequest]“. Der Fehler tritt auf, wenn PHP4 statt PHP5 verwendet wird. Diese Einstellung kann man per .htaccess-Datei ändern. Unter Windows legt man eine htaccess.txt Datei an, kopiert diese auf den FTP Server und benennt sie dort nach .htaccess um. Unter Ubuntu kann man direkt .htaccess Dateien erstellen. Der Inhalt der Datei muss lauten:
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
Natürlich muss dazu PHP5 auf dem Server installiert sein. Jetzt kann NextGen auch wieder Thumbnails erstellen. Falls der Fehler schon aufgetreten sein sollte: die Vorschaubildchen lassen sich unter Gallery/Manage Gallery nach Auswahl der betroffenen Gallerie mit der Aktion “Create new thumbnails” noch einmal neu erzeugen.
Desweiteren gibt es ein paar Einstellungen, mit denen ich nicht so einverstanden bin, beispielsweise die CoolIris PicLens. Diese Funktion lädt JavaScript von einem fremden Server, was nicht meinen Anforderungen entspricht. Die Option kann man glücklicherweise unter Gallery/Options/General Options abwählen. An der gleichen Stelle kann man den RSS-Feed für Bilder abstellen, falls man nicht möchte, dass sich Leute nur auf Bilderänderungen registrieren können.
Sofern man Bilder im Hochformat auch als hochformatige Vorschau anzeigen lassen möchte, kann man unter Gallery/Options/Thumbnails die Option “Set fix dimension” abschalten. Desweiteren habe ich die Slideshow unter Gallery/Options/Gallery deaktiviert. Sollte man die Einstellung nachträglich ändern, muss man die Thumbnails der betroffenen Gallerien wie oben bereits beschrieben neu erstellen lassen.
Jetzt funktioniert die Gallery schon fast wie erwartet, wenn man mitbekommen hat, dass anstelle von [ gallery=1] jetzt [ nggallery id=1] geschrieben wird. Die alte Syntax funktioniert auch noch, war syntaktisch aber eher eine Krücke. Die neue Schreibweise ist klarer.
Ob mit neuer oder alter Schreibweise, die Texte werden nicht mehr unter den Bildern angezeigt. Hierfür gibt es auch keine einfache Option, stattdessen muss man einen eigenen Style erstellen. Einen Style kann man unter Gallery/Style auswählen und aktivieren und es lässt sich sogar ein bestimmter Style für eine einzelne Gallerie setzen mit [ nggallery id=1 template=mystyle]. Damit das funktioniert bedarf es einiger Vorbereitung. Die Styles können sich im jeweiligen Theme-Ordner befinden. Das bedeutet, der Galery-Style ist abhängig vom Theme. Das ist sehr löblich, denn wenn die gesamte Webseite ihr Aussehen verändert, sollte das vermutlich auch die Gallerie tun. Mit einem Themenwechsel können jetzt alle NextGen Gallery-Styles gleichzeitig geändert werden, ist das nicht fantastisch?
Möchte man nun die Beschreibung der Bilder unter den Thumbnails einfügen, muss man zunächst eine Datei vom FTP Server kopieren.
Quelle: wp-content/plugins/nextgen-gallery/view/gallery.php
Ziel: wp-content/themes/default/nggallery/gallery-mystyle.php
Den Ordner nggallery als Unterordner von default muss man zusätzlich erzeugen. Hat man diese Kopieraktion durchgeführt, ist ein Style namens “mystyle” für das Theme “default” entstanden. In die neu angelegte Datei kann man jetzt Erweiterungen einfügen wie z.B. die Ausgabe des Titels. Bei mir erforderte dies eine Änderung in Zeile 45. htmlspecialchars_decode() verhindert, dass Autoren (ob mutwillig oder zufällig) Sonderzeichen einbringen und so ggf. JavaScript ausführen könnten.

Gallery.php für Thumbnails mit Beschreibung
Bekommt man die Fehlermeldung ”Rendering of template gallery-mystyle.php failed”, hat man vergessen, den nggallery-Ordner als Unterordner anzulegen.
Soll abhängig vom Wordpress Theme auch das NextGen Gallery Styleheet geändert werden, kopiert man erneut ein paar Dateien auf dem FTP Server:
Quelle: wp-content/plugins/nextgen-gallery/css/nggallery.css
Ziel: wp-content/themes/default/nggallery.css
In diesem Fall darf man den nggallery Ordner nicht verwenden. Ich denke, das ist eher ein Bug als ein Feature. Ordentlicherweise hätte das Stylesheet wohl in den nggallery Ordner gehört und hätte nggallery-mystyle.css heißen müssen.
Nachdem das Antispam Plugin Askimet einen Wordpress API Key benötigt, um Spam zu filtern, habe ich mich entschlossen, auf WP-SpamFree zu setzen. Das neue Plugin lässt sich einfach unter Plugins/Add New installieren. Es verträgt sich jedoch nicht mit dem Wordpress Automatic Upgrade Plugin, was man aber dank Wordpress 2.7 nicht mehr benötigt.





