Entfernen Sie Posts aus der Abfrage nach Ereignissen, deren Startdatum abgelaufen ist

Die untenstehende Abfrage funktioniert wie erwartet und zeigt cpt-Ereignis geordnet nach meta_value. Was ich noch nicht herausgefunden habe, ist, wie man Einträge für vergangene Ereignisse oder Ereignisse entfernt, die gestartet wurden. Das Startdatum für Ereignisse wird derzeit als “yy md” gespeichert und das Datum wird mit jQuery datepicker ausgewählt.

 'events', 'numberposts' => 5, 'meta_key' => 'sp_startDate', 'orderby' => 'meta_value', 'order' => 'ASC' ); $supplierTrainingEvents = get_posts( $args ); foreach( $supplierTrainingEvents as $post ) : setup_postdata($post); ?> 

Ich habe das und andere Variationen versucht, ohne Glück.

 $args = array( 'post_type' => 'events', 'numberposts' => 5, 'meta_key' => 'sp_startDate', 'meta_value' => date("MM d yy"), 'meta_compare' => '>', 'orderby' => 'meta_value', 'order' => 'ASC' ); 

Danke, dass du es dir angesehen hast.

Solutions Collecting From Web of "Entfernen Sie Posts aus der Abfrage nach Ereignissen, deren Startdatum abgelaufen ist"

Das Datumsformat ist falsch. Ich bin mir nicht sicher, wie Sie das Datum gespeichert haben, aber das Format, das Sie in der Abfrage verwendet haben, gibt das date("MM d yy") “MarMar 07 1212” aus.

Es sollte nicht wirklich wichtig sein, dass die Eingabe von jQuery datepicker ausgeführt wird: Die Eingabe sollte in einem vorgegebenen Format erfolgen – so können Sie sie als Datums- (oder vorzugsweise DateTime- ) Objekt interpretieren und dann dieses Datum in diesem Format formatieren : 2012-03-07, die in php ‘format’ ist 'Ym-d' .

Alternativ können Sie es als Zeitstempel speichern, wenn Sie nicht um 2038 belästigt werden.

Schluss mit der Verwendung von PHP-Datumsfunktionen. WordPress legt die ‘interne’ Zeitzone auf UTC fest – es ist besser, WordPress-functionen zu verwenden, die die Zeitzone des Blogs berücksichtigen.