Search:

Werbung:

Google+:

Archiv:


Jens Matheuszik — 20. Juli 2008, 14:31 Uhr

WordPress 2.6: Und alle Kategorien sind (waren) weg…


pottblog.deVor einigen Tagen ist WordPress 2.6 erschienen.

Dies war für mich nach einiger Zeit mal wieder ein Grund die WordPress-Installation, die für den Betrieb des Pottblogs sorgt zu aktualisieren.

Normalerweise geht das ganze wie folgt ohne Probleme ab:

  • Backup machen
    Die Datenbank sichere ich als MySQL-Dump automatisch einerseits auf dem Server als auch via eMail, die an einen speziellen Mailaccount bei einem gewissen Mailanbieter geht, der dafür bekannt ist, dass er sehr seinen Mailkunden eine Menge Speicherplatz bereitstellt…
  • Plugins deaktivieren
    Zur Sicherheit deaktiviert man alle Plugins – und aktiviert nur ein einziges: Das Maintenance Mode-Plugin zeigt den Besuchern an, dass momentan am Pottblog gearbeitet wird und das man es später noch einmal versuchen soll.
  • Alte Programmdateien löschen
    Eigentlich alle Dateien außer denen aus dem Inhalteverzeichnis (bei Standardinstallationen /wp-content), wo z.B. die Plugins, Themes und Uploads gespeichert werden, und die Konfigurationsdatei im Hauptverzeichnis (wp-config.php) werden gelöscht. Restlos. Hat den Vorteil, dass man eventuell nicht mehr benötigte „Dateileichen“, die von einer älteren Version stammen, nicht mehr auf der Platte hat.
  • WordPress 2.6 herunterladen
    Ich habe mir die deutsche Variante bei wordpress-deutschland.org heruntergeladen (und fände es nett, wenn die Datei nicht immer „latest.zip“ sondern z.B. „wp-de-260.zip“ heißen würde).
  • Hochladen der neuen Dateien
    Einfach mit dem FTP-Programm die ganzen Dateien hochladen.
  • Upgrade-Script aufrufen
    Ein Upgrade-Script sorgt dafür, dass notwendige Datenbankumstellungen aufgrund des Versionswechsels automatisch vorgenommen werden.
  • Plugins aktivieren
    Die vorher deaktivierten Plugins sollte man wieder aktivieren, das „Maintenance Mode“-Plugin natürlich nicht aktiv lassen, sondern deaktivieren.
  • Update/Upgrade genießen
    Normalerweise war es das dann. Das Upgrade-Script braucht meistens nur ein paar Sekunden und das Blog funktioniert wieder.

So war es leider bei mir nicht…

Wie ich feststellen musste, gab es plötzlich keine Kategorien mehr im Pottblog. Links sieht man wie z.B. die Kategorien für den TV-Tipp Schimanski angezeigt werden – oder eher eben nicht. Wenigstens deuteten die Kommata darauf hin, dass der Beitrag in mehrere Kategorien einsortiert wurde.

Das ganze zeigte sich nicht nur bei der Kategorienübersicht unterhalb von jedem Beitrag im Pottblog, auch die Kategorienübersicht allgemein sah etwas merkwürdig aus (siehe rechts).

Auch hier gibt es noch eine Art von Hoffnungsschimmer – denn anscheinend sind „nur“ die Kategoriennamen verschwunden, denn den namenlosen Leerzeichen-Kategorien werden immer noch Beiträge zugeordnet. Das ganze sah für mich also nach einem einfachen Problem aus: Einfach umbenennen und fertig.

Doch so einfach sollte es dann doch nicht sein, denn im Admin-Modus sah das ganze leider eher so aus:

Da die Kategorien keine Namen mehr hatten konnte man auch nicht den Namen der jeweiligen Kategorie anklicken, um die Kategorie umzubenennen.
Wie ich nach der Lektüre der WordPress-Foren (sowohl in deutsch als auch auf englisch) feststellte, war ich nicht der Einzige der dieses Problem hatte. Es lag wohl daran, dass ich nicht von einer aktuellen WordPress-Version auf 2.6 aktualisiert hatte, sondern von einer Version, in der das Kategorienmanagement innerhalb der WordPress-Datenbank noch anders ablief. Natürlich hätte ich zwischendurch vielleicht das eine oder andere Update mitmachen sollen, dann wäre der Fehler nicht aufgetaucht – aber dann hätte man WordPress 2.6 auch ehrlicherweise z.B. nur als „updatefähig von WordPress 2.3 oder höher“ oder so bezeichnen sollen.

Es gab jetzt prinzipiell zwei Möglichkeiten:

  • Rücksicherung des Backups
    Sowohl von der Verzeichnisebene her als auch von der MySQL-Datenbank hatte ich bekanntlich Backups, die man einfach nur hätte einspielen müssen, um dann „Zwischenupdates“ auf neuere Versionen zu machen, bis man sich dann WordPress 2.6 angenähert hat.
    Eigentlich wäre das wohl die vernünftige Wahl – alleine um mal zu testen ob die Backups auch funktionieren – aber aus Zeitgründen habe ich mich dann doch für die zweite Variante entschieden.
  • Manuelles Editieren der Datenbank
    In den Supportforen wurde ich auf den Beitrag WordPress 2.6 Upgrade – Fix Missing Categories aufmerksam. In diesem Beitrag beschreibt David Cumps, dass er genau dasselbe Problem hatte. Ich hab es dann ein kleines bißchen anders gelöst als er, wobei ich ohne seinen Beitrag das ganze nicht hätte machen können.

Wie die Kategorien wiederherstellen?

Um die Kategorien wiederherzustellen habe ich als erstes ein „altes“ Backup (was ca. 10 Stunden alt war) genommen. In der Dump-Datei der MySQL-Datenbank findet man die Kategorienübersicht recht einfach, wenn man z.B. nach „wp_categories“ sucht (und die entsprechende WordPress-Einstellung für das Datenbankpräfix auf wp_ belassen hat). Dort werden einem dann die Kategorien angezeigt, das kann u.a. so aussehen:

(33,’Medien‘,’medien‘,’Alle Beiträge zu Medien‘,0,412,0,0,0),
(30,’die tageszeitung (taz)‘,’taz‘,’Beiträge die sich mit der tageszeitung (taz) beschäftigen‘,33,111,0,0,0),

Kategorie 33 ist also die Kategorie namens „Medien“. Das kleingeschriebene „medien“ bezeichnet den Kategorienname für die Adresse des Blogs. Die heisst in diesem Fall wie der eigentliche Kategorienname. Sprich: www.pottbog.de/category/medien verweist auf die Medien-Kategorie. Die Kategorie Nr. 30 heißt zwar „die tageszeitung (taz)“, aber als Adresse lautet der Name www.pottblog.de/category/medien/taz. Daran kann man erkennen, dass eine Kategorie einen anderen Namen in der Adresse hat.

Hinter der Adressbezeichnung findet man dann die Kategorienbezeichnung. Diese wird zwar standardmäßig in WordPress für Besucher nicht angezeigt, für Autoren mit Zugriff auf das Admin-Menü bringt das ganze jedoch u.U. ein wenig mehr Übersichtlichkeit.
Die erste Zahl die dann folgt ist wichtig – diese zeigt an, welche Kategorie ggf. übergeordnet ist. Über den Medien gibt es nichts, sprich Medien ist aufgrund der 0 eine Hauptkategorie. Die taz-Kategorie hat jedoch die übergeordnete Kategorie 33 – eben die Medien-Kategorie.

Wenn man das weiß, dann kann man die Kategoriennamen manuell wiederherstellen, in dem man einfach die Seite

http://deine-wordpress-installation/wp-admin/
categories.php?action=edit&cat_ID=1

(natürlich ohne Zeilenumbruch!)

direkt aufruft. Statt der 1 bei cat_ID würde man z.B. für die Medien-Kategorie die 33 eingeben. Danach kann man dann der Kategorie einerseits wieder einen richtigen Namen, die Kurzbezeichnung für die Adresse und eine Beschreibung geben. Dann noch abspeichern und das ganze dann für alle Kategorien die man angelegt hat wiederholen.

Eine „Problemkategorie“ hatte ich jedoch noch, bei der es nicht so ging. Das war die Kategorie „Blogroll“, die für die Links verwendet wird. Hier half dann jedoch folgender direkter Aufruf:

http://deine-wordpress-installation/wp-admin/
link-category.php?action=edit&cat_ID=2

(natürlich ohne Zeilenumbruch und statt der 2 mit der korrekten ID)

Wenn man nicht zu viele Kategorien hat, dürfte das dann auch klappen.

Ein Tipp noch: Ich würde zuerst alle Hauptkategorien wiederherstellen. Denn dann kann man bei der Wiederherstellung der Unterkategorien diese einfach im Formularfeld auswählen. Ansonsten kann man nämlich nicht erkennen, ob eine Unterkategorie nun zur Hauptkategorie “ „, “ “ oder “ “ gehört (denn in dem Formular wird nicht die ID sondern der Name angezeigt).


19 Kommentare »

RSS feed for comments on this post. TrackBack URI.

    Es gab einen kritischen Fehler auf deiner Website.

    Erfahre mehr über die Fehlerbehebung in WordPress.