Beiträge nach post_modified sortieren - query_posts will nicht?

  • Moin zusammen, bräuchte mal eben Hilfe von jemanden, der sich mit der WP-Programmierung besser auskennt als ich. Problem: Ich habe ein Kategorie-Template gebaut (Muster: category_CAT_ID.php), das dazu dienen soll, die Beiträge einer bestimmten Kategorie nicht "normal" sortiert anzuzeigen, sondern die Sortierung anhand des post_modified-Datums vornimmt. Müsste ja eigentlich mit query_posts gehen - tut's aber nicht. Hier mal die relevanten Abschnitte des Templates, vielleicht sieht ja einer den Fehler und kann mir helfen:

    Das ist eigentlich so simpel aufgebaut, dass ich einfach keinen Fehler entdecken kann. Trotzdem funktioniert die Sortierung nach 'modified' nicht. Das query_posts an der Stelle dagegen scheint grundsätzlich schon richtig zu sein - wenn ich darüber z.B. die Anzahl der gezeigten Posts reduziere, wird das korrekt durchgeführt. Nur eben die Sortierung will nicht, wie sie soll.

    Irgendwer eine Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ziemlich sicher, dass ich es so schon versucht hatte - zur Vorsicht aber gerade wiederholt: Keine Veränderung. Lokal habe ich das query_posts auch mal im jungfräulichen Default-Theme ausprobiert, auch dort zeigt sich keinerlei Effekt. Funktioniert in 2.5.1 (meine WP-Version) die Sortierung vielleicht einfach nur nicht mehr? Kommt mir nur so unwahrscheinlich vor, dass außer mir noch niemand diesen Bug bemerkt haben soll.

  • In der Doku wird die Möglichkeit, nach "post_modified" zu sortieren auch nicht erwähnt. Ich habe jetzt gerade auch keine Lust, mich durch den Quelltext zu wühlen :-) Auf alle Fälle sollte es mit Hilfe des Filters posts_orderby funktionieren (s. Custom Queries):

    PHP
    function set_order_post_modified ( $orderby ) {
    return "post_modified DESC";}
    
    
    add_filter('posts_orderby','set_order_post_modified');

  • Template Tags/query posts « WordPress Codex
    Keine Ahnung warum das doppelt drin steht, aber es heißt auf jeden Fall "modified", nicht "post_modified". Aber das hattest du ja in deinem 1. Beitag auch so drin, deswegen hatte ich bisher noch nix dazu gesagt.

  • Kann es sein, dass der Befehl

    PHP
    <?php $post = $posts[0];  //Hack. Set $post so that the_date() works. ?>


    den Befehl query_posts irgendwie aushebelt?

    Kommentiere diesen mal aus und probiere es erneut.
    Vielleicht funktioniert es ja dann.

    VG Elke

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

  • Hallo, danke für eure Hilfsansätze und sorry, dass ich seitdem noch nicht wieder antworten konnte. Gelöst ist das Problem leider immer noch nicht - aber ein bisschen weiter eingekreist.

    Das hier

    PHP
    <?php query_posts($query_string . '&orderby=modified'); ?>
    
    
             <?php if (have_posts()) : ?>
    
    
    	        <?php $post = $posts[0];  //Hack. Set $post so that the_date() works. ?>
    
    
             	<?php while (have_posts()) : the_post(); ?>

    funktioniert auf meiner lokalen Test-Installation (XAMPP) tadellos - lade ich exakt dieses Template auf meinen Server, funktioniert es nicht. Gleiches bei jeder anderen versuchten Veränderung der Sortierung im Loop - Testserver funzt, Liveserver nicht.

    Blöde Frage: Kann bei der Server-/MySQL-Konfiguration irgendwo eine Einstellung falsch gesetzt sein, die die Sortierung steuert?

  • Kann es sein, dass Du unterschiedliche MYSQL- bzw. PHP-Versionen benutzt?

    VG Elke

    Nachtrag:
    sind Plugins, WP auf beiden Servern gleich?
    Gibt es dort irgendwelche Unterschiede und wenn ja welche?

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!