Gibt die Abfrage einschließlich Meta und größer als Datum ein

8

Ich habe Mühe, eine funktionierende Lösung mit dieser wp_query zu bekommen. Ich habe derzeit einige benutzerdefinierte Einstellungen, die Posts zugeordnet sind, ist eine, ob der Beitrag "Featured" ist oder nicht, und die zweite ist ein Datum und eine Zeit für den Post zu beenden (nicht mehr in den Ergebnissen angezeigt). Ich habe die Abfrage mit der Funktion arbeiten, aber nur um dieses Enddatum zu arbeiten, hier ist die Abfrage arbeiten mit dem 'vorgestellten' zu finden:

%Vor%

Das Enddatum wird in der Tabelle wp_postmeta festgelegt, wobei meta_key 'the_date' und% meta_values wie in diesem '05 / 16/2013 05:24 'aussehen. Ich möchte die obige Abfrage bearbeiten, wo, wenn 'the_date' gesetzt wurde, Beiträge nur dann eingefügt werden, wenn das 'the_date' größer ist als das heutige Datum und die aktuelle Zeit.

Hier ist mein fehlgeschlagener Versuch:

%Vor%     
Paul 16.05.2013, 20:09
quelle

3 Antworten

13

Ich musste kürzlich etwas sehr ähnliches machen und musste stattdessen stattdessen die meta_query Eigenschaft verwenden. Sie werden so etwas tun wollen:

%Vor%

Ein paar Notizen ...

  • Ich musste in meinem Beispiel nur nach Datum filtern, aber es sieht so aus, als müssten Sie Datum / Uhrzeit in Ihrem Kalender eingeben. (Sie können die erste Zeile für die Variable $today mit dem gewünschten Format anpassen.)

  • Verwenden Sie posts_per_page anstelle von showposts . showposts ist veraltet.

  • Beachten Sie, dass ich meta_key zweimal eingefügt habe (einmal auf der obersten Ebene des Arrays und einmal als Element im Array meta_query . Es gibt einen bekannten Fehler, bei dem Sie Ihre Ergebnisse nicht sortieren können der Schlüssel, wenn du es nicht auf diese Weise eingibst, ich habe das auch eine Weile bekämpft!

Hoffe, das hilft, viel Spaß!

[Bearbeiten] Sie haben vergessen, Ihre skyali_feature -Schlüssel wieder in das Array einzufügen.

    
Jared Cobb 16.05.2013, 20:32
quelle
4

für Benutzer, die das erweiterte benutzerdefinierte Feld-Plug-in mit einem Datumsdatentyp verwenden. Dies ist das, was Sie für Daten benötigen, die größer oder gleich dem heutigen sind:

%Vor%     
slaver113 07.10.2013 14:12
quelle
1

Für Personen, die den benutzerdefinierten Metadaten-Manager verwenden, wird das Feld datepicker als Zeitstempel gespeichert.

In einem ähnlichen Fall funktioniert das obige Beispiel nicht und Sie können php den Wert aussortieren, den Sie vergleichen müssen. Und der Zeitstempel für einen Tag früher um 23:59:59 Uhr wird es tun:

%Vor%

Wenn Sie auch die Zeitzoneneinstellung für den Blog berücksichtigen möchten, verwenden Sie current_time () wie im folgenden Beispiel :

%Vor%     
balubino 29.03.2014 14:51
quelle

Tags und Links