Mann, oh Mann, manchmal verfluche ich – so gut, resp zweckmässig und funktionell sie auch ist – WordPress dorthin wo der Pfeffer wächst und damit das Teil schneller verschwindet gibt gleich noch ne Ladung aus der AK47 hinterher…
Weder das ich neue Plugin oder ähnliches an WordPress rumgeschraubt hätte, nein, für einmal kann es sowas nicht gewesen sein und plötzlich funktioniert in ganz WordPress keine einzige Seitenumbruchsnummerierung mehr, resp mittlerweile habe ich herausgefunden, dass das System annimmt, ich habe 0 Artikel im Blog, was mit knapp 5000 leicht überboten wird und daher wird keinerlei Seitennavi (Vorwärts – Rückwärts) mehr angezeigt, dies sowohl im Admin- sowie im Userbereich. Na Klasse. Halleluja!
Aber erst mal der Reihe nach, und nichts wie ran ans Debugging. Nach langer suche und vielen Stunden bin ich der Sache auf die Spur gekommen und habe mit Hilfe von nachfolgenden paar Codezeilen, zu unterst in index.php der Theme eingebaut, herausgefunden, wo das Problem liegt:
global $wp_query;
$posts_per_page = intval(get_query_var('posts_per_page'));
$paged = intval(get_query_var('paged'));
echo "posts_per_page: ".$posts_per_page."
";
echo "paged: ".$paged."
";
echo "max_page: ".$wp_query->max_num_pages."
";
Dabei wird bei paged
und max_num_page
lustigerweise der Wert = (NULL) ausgegeben, was wie gesagt nicht sein kann, aber offensichtlich ist dies ein bekannter Bug in WordPress, sowie ich über die Jungs von Google erfahren durfte. Also heiter weiter das Problem eingegrenzt und offensichtlich ergibt sich in «wp-includes/link-template.php» mit folgender Funktion get_next_posts_link
und folgender Zeile :
$max_page = $wp_query->max_num_pages;
bei mir das max_num_pages
über $wp_query
ebenfalls den Wert 0 (NULL) hat. So hab ich mir mal die Mühe gemacht und die Datenbank komplett durchsucht, ob da ein Fehler vorhanden ist und sicherzustellen das max_num_pages
gesetzt wird, und was soll ich sagen, alles bestens… Nach weiterem rumgesuche habe ich posts_per_page
under $wp_query->query_vars[]
gefunden und könnte vorerst mal WordPress wieder zu ein bisschen Kooperation bewegen. Hier der erste Fix:
Ersetze in wp-includes/link-template.php die folgende Zeile
$max_page = $wp_query->max_num_pages;
mit
$max_page = $wp_query->query_vars['posts_per_page'];
Doch damit funktionierte meine PageNavi nicht wieder so, dass man sie brauchen konnte, also nochmals nen Ansatz gesucht und auch gefunden mit den folgenden Zeilen Code in der index.php des Themes:
Recent Articles
-
< ?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query('showposts=5'.'&amp;paged='.$paged);
- " rel="bookmark">< ?php the_title(); ?>
?>
< ?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
< ?php endwhile; ?>
< ?php $wp_query = null; $wp_query = $temp;?>;
Ok, so ergibt sich wieder eine Navigation, mit der man sich vorwärts und rückwärts bewegen kann, zumindest für den Besucher. Die Admin Seite kann ich ja direkt per URL ansprechen. Leider wird nun die Navi auf jeder Seite eingeblendet, auch wenn es gar keine folgende hat, aber besser als gar keine…
Falls jemand ähnliche Probleme haben sollte und nen besseren Ansatz kennt, bin ich für jeden Hinweis dankbar!
Great point and very interesting food for thought. I’m not sure I have any clients I can replicate this with, but will bear in mind for the future. Regards
naja zum bloggen wirds wohl das beste sein. ist halt so dass die grenzen eh verschmieren zwischen echtem CMS und blogware. hauptsache man kommt klar. wie gesagt: too fast, too vorlaut to die
Naja, Blogsoftware ist != CMS, aber die Grenzen sind wirklich dünn und mit TYPO3 mag ich mich zum bloggen nicht rumschlagen Live fast, die young
naja, war wohl etwas zu schnell und zu vorlaut. Am Ende kriegt ja doch jeder jeder was er verdient
Wäre also einer Alternative durchaus aufgeschlossen Aber offenbar hab ich nach Blogger WordPress verdient
wieso setzt Du den mist denn ein?
Naja, weil ich die Erweiterbarkeit und Performance ansonsten durchaus schätze. Ich lasse mich aber durchaus gerne etwas besserem belehren…
Hmmmm, habe jetzt mal die Heugeli auf meinen Blog genommen (geht nicht bei allen, sind teilweise mit Tracking) und PHP Speedy ausgeschaltet. Mein Testtool gibt nun Zeiten von 2 bis 7 Sekunden aus. Stimmt dies?
Und ja, die Bilder in den Postings sind auch relativ gross, aber wir leben ja im Zeitalter von Breitband
Jep, es ist schon viel besser geworden
Die Bilder sollten kein Problem sein, die werden geladen wenn sie an der Reihe sind..
Supi, ich danke dir für dein Feedback! Bleibe jedenfalls am Ball
und nochmals testen..
unter firefox scheint es um einiges flotter zu laufen als mit Safari… wtf?
doch nicht.. locker 15 sekunden nach dem posten eines kommentars..
Bin auch mit Firefox und Chrome unterwegs und da geht der Seitenaufbau sehr flott, im IE dauerts wirklich ca. 7 Sekunden bis auf dem Schirm was geht… Sehr Strange….
Ich danke dir übrigens für die Tests! Mittlerweile habe ich 126 queries. 0,996 seconds und einiges an unnötigem Java Script was durch Plugins geladen wurde, plus unnötigen PHP Code aus der Theme entfernt und dies scheint eine allgem. durchschnittliche Ladezeit von 6 Sekunden zu ergeben
Kannst du das auch bestätigen?
FF hat halt die bessere engine. ist kein geheimnis.
aber da stimmt trotzdem noch etwas nicht…
es dauert relativ lange bis sich auf dem bildschirm etwas tut..
dass kann auch an einem der eingepflegten Bilder in der sidebar liegen..
welches nicht bei dir gehostet wird..
oder unten an den ganzen verlinkten dingens…
Blogtuning ist eine Wissenschaft für sich
mehr als 10 sekunden bis was passiert…
ich hab Zeiten von 2 – 15 Sekunden …. bis deine Seite angezeigt wird..
sehr strange..
aber die page generierungs zeit ist gewaltig runter
diesmal war deine Seite erst 12 Sekunden nach dem Kommentar wieder da…
141 queries. 5,231 seconds
und du scheinst noch immer zwei twitter plugins am laufen zu haben
So, jetzt sind es noch 109 queries mit 3,419 seconds, schon viel besser und einen Bösewicht hast du bei dir auch laufen, Movie Rating setzt etwa alleine schon 60 Queries ab
Sodele, nach einigem suchen und optimieren und Plugins ausmisten habe ich nun folgende Werte: 122 queries. 1,398 seconds, dass ist doch mal etwas.
Ich hoffe nun, dass man Blog nicht nur subjektiv schneller lädt…
Das sind die Plugins die du am laufen hast…
Versuch mal ein paar vorübergehend zu deaktivieren…
Ich hatte mal ein Trailer Plugin am laufen welches bei mir 3/4 aller Abfragen und der Ladezeit belegte….
Dein Twitter Plugin läuft Amok im Blog!!!!!
JEDES NORMLE KOMMENTAR UND JEDES SPAM KOMMENTAR WIRD GEPOSTET!!!
Uuuuuuuui, danke für den Hinweis, dass Teil gleich ausgeschaltet und Twitter aufgeräumt… Naja, nen Verusch wars wert. Aber das mit den Queries stört mich doch mehr, hmmmmmm… *grübel*
keine ahnung was die hatten…
auf ein mal gings wieder…
mir ist aufgefallen dass deine seite sehr lang braucht zum laden…
also schon immer… ich nehme an du wirst 2,5 millionen sql querys absetzen bei jedem seitenaufbau..
Das braucht server resourcen ohne ende…
um genau zu sein.. 169 queries. 4,918 seconds
zum vergleich.. meine startseite braucht 92 queries. 0,690 seconds….
und wenn die nun irgend ein problem haben und am wochenende nicht merken…
dann suchst du vergebens…
Danke, ich rechne eben auch mit dem «und plötzlich geht es wieder Effekt»
Hmmm, also habe mal die Anzahl Postings verkleinert, aber komme immer noch auf über 140 queries, geschweige den in dieser Zeit ist doch ein wenig seltsam… Hast du nen Ansatz, wie ich die noch runter kriege?
strange….
also ich hatte mal sowas als mein hoster mysql probleme hatte….
Allerdingens, very strange…
mySQL Probleme? Hast du was genaueres? Was war den damals nicht gut bei deinem Hoster?