Skip to content

Fehlersuche am Beispiel: Inhalt im Dashboard fehlt bei WordPress 2.7

Wie schon berichtet, hatte ich hier den Fehler, dass kein Inhalt mehr angezeigt wurde. Ansätze, gab es beispielsweise bei ayudawordpress ("no-puedo-accesar-a-mi-panel-de control" spanische Seite, die Idee in /wp-admin/includes/plugin.php zu suchen), gemeldet hatte ich es beim WordPress-Trackingsystem, da vermutete ich noch einen Zusammenhang mit dem dort beschriebenen Bug. Jedenfalls fand ich keine Lösung für dieses Problem. Irgendwann beschloss ich, es erst einmal zu lassen und machte an anderen Blogs weiter mit neuen Einbindungen, Designänderungen usw. Dabei hatte ich gestern dann plötzlich live zwei kaputte Dashboards und lokal gleich drei. :-(

Lösung suchen

Ich ging vor wie immer, erst einmal überlegen, was und wo habe ich zuletzt geändert. An keiner Stelle hatte ich den Adminbereich angefasst. Es waren neue Versionen von Plugins, teils neue Plugins, teils Änderungen und Ergänzungen am Theme.

Vorgehen

  • Plugins abschalten
  • Änderungen rückgängig machen
Das half jedoch nicht, das Problem blieb, zwar ein Menü und ein Header, der noch Dashboard anzeigte, aber keinerlei Inhalt. Also nochmal im Netz suchen, ob irgendjemand diesen Fehler schon hatte und eventuell eine Lösung dazu. Schwierig hierbei ist, dass je nach Sprache das Dashboard nicht so genannt wird. Bei deutschem WordPress war es lange der Tellerrand und auch in anderen Sprachen war es teils übersetzt. Auch wer englisch schreibt stellt die Frage daher nicht immer mit Dashboard. Wie schon einige Tage zuvor fand ich wenig hilfreiches, ein zwei Ideen, wo ich weitersuchen könnte, aber mehr nicht.

Nächster Versuch das Problem zu finden

  • Code vergleichen zwischen funktionsfähiger und nicht funktionierender Lösung
  • mit HTML-Einfügungen wie "hier" "da" "davor" "dahinter" prüfen an welcher Stelle im Code das Ding aussteigt
  • sobald das etwas klarer ist dasselbe innerhalb der PHP-Teile mit
    • echo "da";
  • testen, um rauszufinden, wo genau überhaupt das Problem liegt.
Klingt langsam? Ja, ist langsam, ist Fummelei, da viele Dateien miteinander erst das ganze Dashboard ergeben. Im Core-Code von WordPress kenne ich mich nur sehr schlecht aus, deshalb eine wirklich mühsame Suche. Schon vor einigen Tagen hatte ich da einiges probiert und insbesondere auf selbst veränderte Teile geachtet. Ich hatte auch schon mal allen eigenen Code entfernt, aber bekam damit noch mehr Fehler. Letztes Mal gab ich irgendwo da dann auf. Dieses Mal war ich mir relativ sicher an den passenden Stellen bereits geprüft zu haben und testete nicht ganz konsequent alles.

Noch ein Versuch zu einer Lösung zu kommen

Immer, wenn sich ein Fehler partout nicht finden lassen will, ist es eine gute Idee, sich selbst zu überprüfen. Das klappt allein nicht, mit Partner ist es sinnvoller (Pair-Programming). Gut ist jemand, der ebenfalls etwas vom Thema versteht, jemand, der jedoch überhaupt zuhört genügt oft schon:
  • zuerst einmal zeigen, was ist das Problem
  • zeigen an welchen Stellen, man was getan hat
  • nebenbei erklären, warum man es gerade dort versucht hat
Dieses Mal hatte ich Glück, Roland versteht deutlich mehr von PHP als ich, deshalb gerade beim Suchen, was sieht denn komisch aus, was könnte ein Kanditat für ein Problem sein, da ist er besser. Die Vorgehensweise bleibt gleich, aber von Roland kamen mehr Rückfragen, was macht das, lass uns da mal noch probieren... Roland traute einer von mir integrierten Funktion nicht, bei der ich sicher war, den Ausbau bereits getestet zu haben. Hatte ich auch, allerdings hatte ich etwas übersehen. Das fiel erst jetzt auf, als wir ganz sicher gehen wollten, dass hier nicht die Ursache ist. Ich kenne Programmieren in PHP in etwa  in dieser Form:

<?php if($position == "header"){ ?> <div id="header" > <h1>Gib mir das Dashboard ;-)</h1> <? } ?>

Sprich:

  • mach was <?php
  • Klammer auf {
  • hör mal kurz auf ?>
  • gib mal was aus <div id="header" >...
  • Klammer zu }
Gesehen hatte ich in WordPress schon häufiger mal ein

<?php endif; ?>

Bisher hatte ich jedoch kein Problem damit, und habe es schlicht ignoriert. Gerade bei WordPress bin ich meist eher pragmatisch, ich mache genau so viel, bis ich eine Lösung für mein Vorhaben finde, dann höre ich auf. Ich habe bisher noch nie versucht den Code genauer zu lesen und zu analysieren, um zu verstehen, was genau da wie passiert. PHP-Programmieren überlasse ich meist anderen und bastele nur soviel, wie gerade nötig. Nach kurzer Recherche, weil die Klammersetzung nicht so klappte wie wir es erwarteten, fand Roland heraus, dass dieses endif ursprünglich von alten PHP-Versionen kommt und nichts anderes tut, als eine Klammer zu ersetzen. Prima, das hätte mir mal jemand sagen können... ;-) In diesem Fall war es nicht, wie sonst oft, dass die schließende Klammer irgendwo anders gesetzt wird, sondern das endif am Ende des ganzen Inhalts schloss erst meine Klammer.

Hä? Was hilft das jetzt?

Nun damit war klar, wenn hier etwas schief geht, dann geht gar nichts mehr. Wir putzten den Aufruf der "Vorgesehenen Beiträge", der an dieser Stelle drin war, setzten die Klammern sauber, eliminierten das endif und siehe da: "Kaum macht man's richtig, geht's" ;-)

Fazit dieses Fehlers

Offensichtlich liefert WordPress, wenn keine vorgesehenen Beiträge da sind, etwas anderes zurück als bisher. Denn genauso war diese Funktion in mehreren Blogs unterschiedlicher Versionen schon mal drin. Problem bei der Suche:
  • nur, wenn es keine vorgesehenen Beiträge gibt, taucht das Problem auf
  • Entwürfe und bereits publizierte Beiträge sind dafür irrelevant
In meinem Fall tauchte der Fehler im Mitarbeiterblog gar nicht auf, dort gibt es immer ein paar vorgesehene Beiträge, da wir einen Kalender einsetzen, wer wann da ist, welche Termine anstehen, diese Termine werden mit einem Beitrag in der Zukunft veröffentlicht. In uteles Blog gibt es fast immer ein, zwei Beiträge, die ich mal zwischendurch tippe und aufhebe, falls ich grad nichts Aktuelles habe. Hier im Blog kam ich in letzter Zeit nicht dazu, mehr als mal einen Entwurf zu schreiben. Rein zufällig fiel mein Hochspielen mit der Veröffentlichung des letzten vorgesehenen Beitrags in  uteles Blog zusammen. Deshalb sah es so aus, als gäbe es einen Zusammenhang. Im Nachhinein hätte ich mir die anfängliche Suche sparen können, denn es lag weder am geänderten Code, noch an den aktualisierten Plugins. Der Haken an der Fehlersuche ist: ich weiß ja leider anfangs nicht, was das Problem ist.

Unterm Strich

Gut war jetzt, dass der Fehler gerade nochmal auftrat, als ich noch am Basteln war. Sonst hätte ich wohl zunächst einmal an ein Versionproblem geglaubt und nicht weiter gesucht. Jetzt ist die Stelle repariert und abgesichert, die Gefahr, dass hier nochmal ein Fehler auftritt somit geringer. Der Fehler, dass das Dashboard keine Inhalte mehr anzeigt ist weg, die Funktion ist geputzt. In diesem Zusammenhang fiel mir noch eine alte Funktion auf, die ich nebenbei grad repariert habe. Und, weil ich schon dran war, habe ich grad noch was ergänzt. In meinem Dashboard gibt es jetzt wieder diese netten kleinen Hinweise, die ich jetzt in einigen Versionen nicht oder nur teils hatte, doch dazu ein anderes Mal mehr.

Trackbacks

Keine Trackbacks

Kommentare

Dieter am :

Dieter Herzlichen Glückwunsch zum gefundenen und beseitigten Fehler!

Das war ja eine schwere Geburt. Im Nachhinein klingt es logisch, dass der Fehler durch eine eigene integrierte Funktion hervorgerufen wurde.

Der Tipp mit Pair-Programming ist gut. Danke!

ute am :

ute Dieter said:


Herzlichen Glückwunsch


Danke, ich bin auch froh, dass es jetzt passt...
Dieter said:


Im Nachhinein klingt es logisch


...tja im Nachhinein ist eben das Problem. Das Verhalten zeigte keineswegs, dass mehrere Blogs im Grunde denselben Fehler haben... :-(
Dieter said:


Tipp mit Pair-Programming ist gut


Es hilft eben tatsächlich selbst dann, wenn die zweite Person keine Ahnung vom Thema hat, weil man selbst beim Erklären erst genau merkt, was man eigentlich tut.

ute am :

ute ;-)



Dieter: Herzlichen Glückwunsch


Da es hier ja um Fehlersuche geht und ich jetzt wohl ein weiteres Plugin in valider Version habe, mal einen Testkommentar hier.

Wenn alles läuft wie erhofft, gibts demnächsten noch einen Beitrag zu diesem Thema... ;-)

ute am :

ute Sodele, jetzt noch ein Test, ob alles passt... ;-)



ute: Wenn alles läuft wie erhofft, gibts demnächsten noch einen Beitrag zu diesem Thema… ;-)


...versprochen

Edwin am :

Edwin Hallo an alle Wordpress Blogger
bei mir ist ein ganz neuer Fehler.
Der Blog http://www.wintergarten-kettler.at/Blog/
ist auf Internet Explorer sichtbar, so wir er sein sollte,
auf Chrome und Firefox ist das Layout verschwunden.
Wer könnte mir da jetzt bei der Fehlersuche helfen, oder sollte ich Wordpress gleich neu installieren, geht vielleicht schneller.
Danke für Euer Echo

ute am :

ute Hi Edwin, stell deine Frage mal im Wordpress-Forum, da ist meist jemand, der helfen kann: forum.wordpress-deutschland.org

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
BBCode-Formatierung erlaubt
Gravatar, Twitter, Favatar Autoren-Bilder werden unterstützt.
tweetbackcheck