WP_Query zeigt den nächsten benutzerdefinierten Post ab dem heutigen Datum an

Ich habe ein Kalender-Plug-in, das benutzerdefinierte Post-Typen verwendet, um Ereignisse zu erstellen. Es gibt mehrere benutzerdefinierte Felder, mit denen ich verschiedene und scheinbar unbegrenzte Post-Abfragen erstellen kann. Dasjenige, auf das ich mich momentan konzentriere, ist das Feld, das das “Startdatum des Ereignisses” enthält, betitelt = evcal_start_date.

Was ich tun muss, ist die nächste bevorstehende Veranstaltung von heute zu zeigen, und das ist eine kleine Herausforderung geworden.

Aktuelle WP_Abfrage;

 1, 'post_type' => 'ajde_events', 'meta_query'=> array( array( 'key' => 'evcal_start_date', 'meta_compare' => '>', 'value' => $currentdate, 'type' => 'DATE', )), 'meta_key' => 'evcal_start_date', 'orderby' => 'meta_value', 'order' => 'ASC' ) ); while ($my_query->have_posts()) : $my_query->the_post(); $title = get_the_title(); $date = get_post_meta($post->ID, 'evcal_start_date', true); endwhile; ?> 

Ich habe sichergestellt, dass die Formatierung von $ currentdate mit der von evcal_start_date übereinstimmt. Es wird als “5/25/2012” gespeichert.

Ich kann nicht garantieren, dass mein Kunde Beiträge immer in der richtigen Reihenfolge erstellt. Aus diesem Grund ist es zwingend erforderlich, das benutzerdefinierte Feld des Startdatums des Ereignisses zu verwenden.

Ich würde wirklich jede Hilfe schätzen. Haben Sie ein wundervolles Memorial Day Wochenende!

Solutions Collecting From Web of "WP_Query zeigt den nächsten benutzerdefinierten Post ab dem heutigen Datum an"

Um basierend auf einem Datumsfeld zu sortieren, müssen Sie das Datum in ein UNIX-Datetime-Format konvertieren. Es ist wahrscheinlich am besten, das Datum in einem separaten benutzerdefinierten Feld zu speichern. Ich musste das nie einrichten, aber du würdest es tun

  1. hook in save_post
  2. Suchen Sie nach einem benutzerdefinierten Feld mit dem Datum darin
  3. wandeln Sie das Datum in ein anderes benutzerdefiniertes Feld um (möglicherweise mit einem Unterstrich, um es vor der Benutzeroberfläche für benutzerdefinierte Felder zu verbergen).
  4. Fragen Sie nach dem ausgeblendeten benutzerdefinierten Feld und verwenden Sie es zum Sortieren.

Es gibt auch einige benutzerdefinierte Meta-Box-Plugins, die mit einer Datumsauswahl und der Möglichkeit, Daten im UNIX-Format zu speichern, geliefert werden.

Um das menschenlesbare Datum für die UNIX-Konvertierung zu verwenden, sollten Sie sich mit der function strtotime() von PHP strtotime() . Um zurück zu konvertieren (wenn Sie das UNIX-Datum speichern und es in einem lesbaren Format drucken möchten), verwenden Sie die function date() .