Erhalten Sie Post-Meta-Abfrage, die den neuesten Post zurückgibt, wenn kein Metaschlüssel gefunden wurde

Ich habe dieses hübsche Standard-Skript, das nach einer Vorschau oder einem Bericht (benutzerdefinierte Beitragstypen) sucht, für die Daten gespeichert sind (serialisiertes Array), die die Form einer guid .

Die GUID befindet sich in meinem Bericht und nicht in meiner Vorschau (dies ist beabsichtigt, da ich den Fehler erfassen möchte).

Wenn ich das Skript für die Vorschau get_posts gibt get_posts einen Beitrag zurück, der als der letzte veröffentlichte Post zu gelten scheint.

 $args = array( "post_type" => array($type), "posts_per_page" => 1, "post_status" => "publish", "orderby" => "date", "order" => "DESC", "meta_query" => array( "key" => "_fixtures", "value" => $fixguid, // IN THIS CASE IT SHOULD BE 12AB1324 "compare" => "=" ) ); $posts = get_posts($args); return $posts; 

Der Bericht (der die Metadaten 12AB1324 ) wird erfolgreich zurückgegeben, aber die Vorschau gibt die neueste Geschichte zurück, die einen Wert von 12AB3136 .

Ich nehme an, meine Frage ist:

Warum gibt get_posts Meta-Abfrage zurück
a) der letzte Beitrag und
b) ein Beitrag mit einer GUID, die nicht = der angegebene key ist .

Vielen Dank.

Solutions Collecting From Web of "Erhalten Sie Post-Meta-Abfrage, die den neuesten Post zurückgibt, wenn kein Metaschlüssel gefunden wurde"

Der Parameter meta_query muss immer ein Array von Array sein und sollte wie folgt geschrieben werden

 "meta_query" => array( array( "key" => "_fixtures", "value" => $fixguid, "compare" => "=" ) 

In der Tat, das Array Array wird verwendet, um zu jeder Beziehung zu dienen, wenn Sie mehrere Metas abfragen wollen, aber es müssen sogar Sie nur eine abfragen.

Hoffe, es funktioniert nach!