Mrz

31

WordPress: MySQL vs get_posts() in 2.5 (und früher)…

Nach dem Update auf WP 2.5 wurden im unteren Block die aktuellen Beiträge nicht mehr korrekt angezeigt. Nach etwas Recherche fand ich diesen Beitrag im WordPress-Forum. Die dort vorgeschlagene Lösung den Hoster zu wechseln, naja… das muss auch anders gehen. Interessehalber habe ich mir das SQL-Statement ausgeben lassen:

SELECT DISTINCT *
FROM wp_posts
WHERE 1 =1
AND post_type = ‚post‘
AND post_status = ‚publish‘
GROUP BY wp_posts.ID
ORDER BY post_date DESC
LIMIT 0 , 5

mmh. Ja, ich würde einmal sagen, sieht sehr optimiert aus… Mit dem Rauswurf von unnötigem „Ballast“ lässt sich das Statement auch soweit anpassen, das es problemlos funktioniert. Allerdings müsste dazu die get_posts()-Methode angepasst werden und das war mir dann doch etwas zuviel Arbeit.

Aber es geht auch einfacher, ich hatte schon gesehen, dass das Widget zur Anzeige der aktuellen Beiträge problemlos funktioniert und so habe ich mir einfach dessen Code ausgeborgt ;)

3 Kommentare bis jetzt

  1. Kommentar von scytale:

    WHERE 1=1 ??? WTF? :)

  2. Kommentar von proog:

    Tjo… auch das GROUP BY ist bei dem Statement überflüssig (und z.b. für den Bug verantwortlich)… Der Grund liegt wohl darin, das get_posts() auch aufwendigere Statements produziert, entprechende Parameter vorausgesetzt…

  3. Kommentar von xel:

    Tja ich würd einfach mal behaupten, dass kommt davon, wenn man SQL Code programmatisch erzeugt. Klar ist das in dem Fall sinnvoll bzw. notwendig.

    das 1=1 ist vermutlich nur ne vereinfachung um nicht abfangen zu müssen, ob man gerade die erste Einschränkung vornimmt oder eine weitere hinzufügt.

    Das es allerdings nicht möglich sein soll, einfach nur das GROUP BY weg zu lassen, ist mir aktuell noch ein Rätsel – genauso aber auch, wieso das nen Fehler wirft.

Kommentar hinterlassen

You must be logged in to post a comment.

Archiv

Zufällige Bilder

  • Peugeot 908 HDi FAP
  • BUZZ! - Quiz TV + Wireless Buzzer
  • Grill: Die Verpackung

Kommentare (28 Tage)

Sonstiges


Bloggeramt.de