WordPress 2.6: Und alle Kategorien sind (waren) weg…
Vor 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).
Irgendwie vergeht mir grad die Lust auf das Update. Dabei stand das für dieses Wochenende auf der Liste…
Vielen, vielen Dank, ich hatte gerade das gleiche Schrecksekunden-Problem!! Wohl auch zu lange keine Updates mehr gezogen ;) .
(Allerdings kann ich die Links zu den php-Befehlen hier im Blog nicht lesen, ich musste dazu den Quelltext ansehen, – sind wohl zu lang für die Spalte. Vielleicht könntest Du die für andere Hilfesuchende noch ändern?)
Mir sind nicht nur die Kategorien verloren gegangen, sondern auch das Theme scheint nicht 2.6 tauglich zu sein. Header, Sidebar usw.. Ich glaube jetzt brauch ich viel Zeit.
Und wp_categories finde ich in der Datenbank auch nicht.
@el-flojo (1):
Und? Inzwischen doch gewagt?
@Britta (2):
Mit welchem Browser rufst Du denn das Pottblog auf? Mit den üblichen Browsern müßte das eigentlich (mit Zeilenumbruch) klappen.
@KlePeter (3):
Das ist ärgerlich. Die wp_categories-Tabelle gibt es wohl nur, wenn man ein älteres WordPress als Grundlage nimmt.
Hab mich gestern dann doch mal getraut. Lief dann alles erstaunlicherweise absolut glatt. Hab danach die ganze Zeit nach nem Fehler gesucht. ;-)
Momentan steht aber ein komplettes Redesign an – da werd ich noch ein wenig schrauben. Verzweifel grad vor allem an einer Kleinigkeit bei neuen Theme.
@el-flojo (5):
Besser so, als wenn man Fehler direkt serviert bekommt. ;)
[…] Aufgefallen ist mir das Problem heute Abend und ich brauchte nicht lange zu suchen, um im Internet andere Betroffene zu finden. Natürlich fand sich auch gleich eine kleine Korrekturanleitung. […]
[…] im Netz sowie des WordPress Release Archives, des Automatic Upgrade Plugins und später noch des Pottblogs (wo ich erfahren habe, wie ich die Kategorien wieder herstellen kann, die das Upgrade kurzerhand […]
Hallo Jens,
vielen Dank für diesen Beitrag! Du hast damit mein Wochenende gerettet. Ein Problem habe ich allerdings noch bei der Umsetzung auf WP2.6:
Meine mit Simple Tagging erstellen Tags erde nicht mehr angezeigt. In der Ãœbersicht „Artikel verwalten“ werden die älteren Artikel auch tatsächlich ohne Tags angezeigt… Hast Du hierzu vielleicht auch eine Idee?
Der Umbruch Deiner überlangen Links findet in Mozilla übrigens tatsächlich nicht korrekt statt. Solltest Du Dir vielleicht mal ansehen.
@Christoph (9):
Freut mich!
In Sachen Tags kann ich Dir leider nicht helfen, da ich bisher keine Tags verwende.
Bzgl. der überlangen Links:
Komisch, mein Mozilla Firefox zeigt mir das ganze richtig an. Ich werde aber zur Sicherheit mal einen Zeilenumbruch einbauen.
Hey Mann,
super Hinweise. Danke dafür. Jetzt muss ich noch meinen Zeichensatz wieder hinkriegen, und dann funzt es wieder.
Viele Grüße
Robert
[…] Gestern abend war ein kleines Zusammensitzen beim Bier mit Hansi, Horatiorama und dem Resteverwalter vom mensablog im Panam. Für mich das erste bewusste Treffen mit anderen Leipziger Bloggern und sehr angenehm. Ging ne Weile. Im Gesprächsverlauf gings kurz auch ums Bloggen und mein insuffizientes, viel zu altes System (Hatte noch WP 2.2 drauf, weil ich hier und da schon mal am Update gescheitert bin. Heute sollte es werden und nach 2 Stunden und drei ziemlichen Bugs habe ich es hingekriegt. Bug 1: Es zerhaut den Zeichensatz. Lösung Bug 2 & 3: Die Namen der Kategorien (Posts und Blogroll) werden gelöscht und lassen sich nur manuell wieder eintragen, bei mir immerhin über 30. Nervt etwas. Lösung […]
Hallo Jens,
leider habe ich das gleiche Problem, obwohl ich nicht – wie Du – von einer älteren WordPress-Version, sondern von 2.51 ein Upgrade auf 2.6 gemacht habe. Früher lief immer alles reibungslos (Vorgehensweise in etwa so, wie Du es beschrieben hast). Das Upgrate-Script meldete – dies war anders als sonst – das die Datenbank upgedatet werden müsse. Nach der Bestätigung schien dann alles ok zu sein. Aber Pustekuchen! Die Kategorien waren weg! Nachdem sich die erste Panik gelegt hatte (es hätte ja auch noch mehr kaputt sein können), beschloss ich, erst einmal eine Nacht darüber zu schlafen. Wie sich zeigte: die richtige Entscheidung. Denn was brachte der heutige Morgen: Deine Problem- und Lösungsbeschreibung! Danke!!! (Ãœbrigens: Ein Zeilenumbruch der Links – siehe Hinweis von Britta – in Deinem Text erolgt im FF – anders als im IE – noch immer nicht ;FF Vers. 2.0.0.16.)
Nochmals ein dickes Danke!
Gruß Manfred
Danke für diesen Beitrag, durch den auch ich meine Kategorien retten konnte!
@Robert (11):
Da gibt es meines Wissens im WordPress-Forum Hinweise zu.
@Manfred (13):
Das wundert mich, dass das auch bei WordPress 2.5.1 passiert. Aber vielleicht ist Deine Installation ursprünglich eine ältere Version gewesen, wo sich der Bug durchgezogen hat?
Das mit dem Zeilenumbruch habe ich jetzt durch einen manuellen Umbruch versucht zu ändern. Bei mir (FF 3) sah das vorher auch immer korrekt aus, mit FF 2 konnte ich jedoch sehen wie suboptimal das aussah.
@Timo (14):
Freut mich, dass es Dir geholfen hat! Weiß ja noch selber, wie verzweifelt ich mein Blog nach dem Update auf 2.6 angeschaut hatte und nicht weiter wußte.
Das scheint zu stimmen, Jens. Zwei andere 2.51 Versionen habe ich problemlos upgedated, während bei einem Upgrade von einer 2.3-Version das Problem auch wieder auftrat. Aber Dank Deiner klasse „Vorarbeit“ hat das Problem ja seinen Schrecken verloren. Nochmals: Danke!!! (… und mach ruhig weiter so; Deine Fans wird es freuen …)
[…] weg! Ãœber Google waren aber schnell weitere Betroffene gefunden, und Dank eines sehr hilfreichen Artikels im Pottblog von Jens Matheuszik auch die – nicht ganz einfache – Lösung: Enpacken der gesicherten […]
@Manfred (16):
Inzwischen ist ja WordPress 2.6.1 erschienen und damit soll das Problem behoben sein. Ob es stimmt werde ich demnächst mal testen. Wobei: Das nächste zu aktualisierende Blog wird wohl direkt von 2.5 aktualisiert, insofern dürfte es da wohl sowieso keine Probleme geben.
[…] Naja, zum Glück nicht ganz, doch die Bezeichnungen waren weg. Dank der Hilfe vom Pottblog (WordPress 2.6: Und alle Kategorien sind (waren) weg…) konnte ich sie nun wieder herzaubern. Ihr könnt nun auch wieder nach Belieben in den Kategorien […]