Benutzerdefinierter Post-Typ und Benutzerdefiniertes Feld WP_Query

Ich entwickle eine Website für einen Kunden, der ein Jugendfußballclub mit vielen verschiedenen Teams ist, abhängig von den Fähigkeiten und dem Alter der Kinder. Ich habe einen benutzerdefinierten Post-Typ namens Match-Berichte hinzugefügt, damit sich die Manager jedes Teams anmelden und Beiträge für ihre neuesten Matches schreiben können, an denen ihre Teams beteiligt waren.

Ich habe auch einen News-Bereich, der den Standard-Post-Teil von WP verwendet. Ich habe einen Shortcode geschrieben, der die News auf der Homepage anzeigt. Ich möchte ein System aktivieren, in dem einer der Match-Berichte zur Homepage hinzugefügt werden kann, indem eine Option ausgewählt wird, indem das Plugin Erweiterte benutzerdefinierte Felder verwendet wird – es handelt sich um ein Optionsfeld mit zwei Optionen mit True / False Werte – Auf der Startseite anzeigen? Ja Nein.

In meinem Shortcode “Nachrichten” habe ich den benutzerdefinierten Post-Typ “Match-Berichte” hinzugefügt, was perfekt funktioniert, aber ich bin mir nicht sicher, wie ich die Berichte nur anzeigen kann, wenn der “Show on Homepage – Ja” -Knopf ausgewählt ist. Hier sind meine Abfrageparameter:

$queryArgs = array( "post_type" => array( "post", "match-report" ), "meta_key" => "show_in_news", "meta_value" => "true" ); 

Das Problem dabei ist, dass die Standard-Posts nicht über das benutzerdefinierte Feld verfügen, sondern nur die Übereinstimmungsberichte angezeigt werden. Wenn ich die Abfragen für benutzerdefinierte Felder lösche, werden alle Übereinstimmungsberichte zusammen mit den Posts angezeigt. Ich brauche es, um die show_in_news nur mit show_in_news (mein benutzerdefiniertes Feld mit show_in_news , die mit erweiterten benutzerdefinierten Feldern erstellt wurden, mit dem Wert ” true zusammen mit allen Posts anzuzeigen.

Kann mir jemand helfen? Vielen Dank wenn das so ist 🙂

Solutions Collecting From Web of "Benutzerdefinierter Post-Typ und Benutzerdefiniertes Feld WP_Query"

Derzeit ist Ihre Meta-Abfrage exklusiv und Sie müssen sie inklusive machen. Sie können beispielsweise immer das Meta-Feld show_in_news für den benutzerdefinierten show_in_news für den benutzerdefinierten Bericht speichern, auch wenn der Wert false lautet. Dann können Sie Posts show_in_news wenn benutzerdefinierte show_in_news nicht vorhanden sind (Standardposts) oder wenn sie vorhanden sind und für den benutzerdefinierten show_in_news "true" :

 $queryArgs = array( "post_type" => array( "post", "match-report" ), "meta_query" => array( "relation" => "OR", array( "key" => "show_in_news", "compare" => "NOT EXISTS", ), array( "key" => "show_in_news", "value" => "true", ), ), ); 

Dies sollte den Job machen.