2011-01-06 6 views
0

Ich arbeite mit WordPress, wo ich ein Ereignislistensystem habe. In meinem Post gibt es ein benutzerdefiniertes Feld namens starting_time, das ein Unix-Timestamp ist. Jetzt möchte ich alle Posts durch start_time durch diesen Befehl query_post kurzschließen:Sortierung Problem mit 'Query_posts' Funktion in WordPress. Sortieren nach benutzerdefiniertem Feld funktioniert nicht

query_posts(array(
       'post_type' => 'event', 
       'meta_key' => 'end_time', 
       'meta_compare' =>'>=', 
       'meta_value'=>time(), 
       'order_by' => 'start_date', 

      'order' => 'ASC' 
)); 

Aber es funktioniert nicht. Hier ist die Seite http://citystir.com/events/. Ich wiederhole die start_time in Unix vor der verbleibenden Zeit, damit Sie den Wert sehen können. Und auch meine Paginierung funktioniert nicht. Möglicherweise habe ich mit dem Befehl query_post etwas falsch gemacht.

+0

Versuchen Sie, es so zu sortieren, dass es nur alles größer als das heutige Datum zeigt? Es scheint zu funktionieren ... wenn Sie etwas ändern möchten, die 'Bestellung' => 'ASC' zu 'bestellen' => 'DSC'? – redconservatory

Antwort

0

Das Problem war mit dem Befehl order_by :) es ist nicht order_by aber orderby.

0

Sie müssen sicherstellen, dass Sie den richtigen Meta-Schlüssel-Namen in der Abfrage verwendet haben. Sie sagen, das benutzerdefinierte Feld heißt startende_Zeit, aber Sie setzen order_by auf start_date in Ihrem Code.

Die Bestellung scheint bei ASC in Ordnung zu sein, da dies das nächste Ereignis anzeigen wird.

+0

Hallo, danke für deine Antwort. Ich habe das Problem behoben. Das Problem war mit dem Befehl order_by :) Es ist nicht order_by, sondern orderby. – Sisir