Es scheint etwas mit dem
Update der
MySQL-Version auf 5.0.51 zu tun zu haben. Hier wird offensichlich das "ORDER BY" vom "GROUP BY" überstimmt, was sie Sortierung anbelangt. Diese ist dann aufsteigend nach ID. Eine normale Abfrage für die Homepage sieht z.B. bei
WP 2.0.x etwa so aus:
Code:
SELECT DISTINCT * FROM wp20_posts WHERE 1=1 AND post_date_gmt <= '2008-01-11 22:03:59' AND (post_status = 'publish' OR post_author = 1 AND post_status != 'draft' AND post_status != 'static') AND post_status != 'attachment' GROUP BY wp20_posts.ID ORDER BY post_date DESC LIMIT 0, 10
Das "GROUP BY wp20_posts.ID" ist eigentlich sinnfrei, da die ID eindeutig ist und es somit nichts zu gruppieren gibt, sie wird aber verwendet, um das Zusammensetzen der SQL-Abfrage zu vereinfachen. Bei neueren
WP-Version gibt es das nicht mehr, hier wird nur ein "GROUP BY" eingefügt, wenn es wirklich benötigt wird.
Das erklärt auch, warum es bei manchen ausreichte, auf die neuste
WP-Version upzudaten.
Bei
MySQL vor Version 5.0.51 war es noch so, das "ORDER BY" Vorrang hatte, so das mit älteren
DB-Versionen das Problem auch nicht auftritt.
Was man da auf die Schnelle machen kann, weiß ich auch nicht. Ich gehe jetzt schlafen, gute Nacht
Nachtrag: Man könnte sich mit add_filter( 'posts_groupby', ... ) einklinken und falls hier ID steht, stattdessen POST_DATE zurückgeben. Dann stimmt es wieder.
Nachtrag 2: Es dürfte mit diesem
Bug zu tun haben, der laut
Release-Infos ab 5.0.51 beseitigt wurde.
Gruß
Ingo