Wie Abfragen von Posts von einem benutzerdefinierten Post-Typ, der eine benutzerdefinierte Taxonomie enthält?

Ich habe folgendes:

$queryResponse = new \WP_Query(array( 'post_type' => 'portfolio', 'tax_query' => array( array( 'taxonomy' => 'portfolio_date', 'field' => 'name', 'term' => $dateSelected ) ) )); var_dump($queryResponse); 

$dateSelected ist ‘2015’.

Ich möchte: Alle Posts vom Post-Typ des Portfolios mit einer benutzerdefinierten Taxonomie von Portfolio_Datum (Tatsächlicher Name: Portfolio-Datum. Dies ist, was der Benutzer sieht), die den Wert von, in diesem Fall, 2015 hat.

Also, wenn ich 6 Posten unter dem Portfolio mit dem Portfoliodatum von 2015 erstelle, sollte ich 6 Posten zurückbekommen. Gerade jetzt bekomme ich: 0 Beiträge.

Ich habe 1 Post unter diesem Post-Typ mit dieser Taxonomie.

Solutions Collecting From Web of "Wie Abfragen von Posts von einem benutzerdefinierten Post-Typ, der eine benutzerdefinierte Taxonomie enthält?"

Sie haben hier ein oder zwei Probleme und mögliche zukünftige Fehler, die auftreten können

  • term in Ihrer tax_query sollte terms

  • Seien Sie vorsichtig mit Begriffen, die Daten als Namen und vor allem Daten als Nacktschnecken haben. Dies kann zu Problemen und unerwarteten Ergebnissen führen, wenn benutzerdefinierte Permalinks zusammenstoßen oder wenn aus irgendeinem Grund etwas in die Vorlagenhierarchie fällt.

  • Verwenden Sie das tax_query nie in einer tax_query . Es gibt ein Problem mit der Bereinigung des Begriffnamens, bevor die Join-Klausel für die SQL-Abfrage in der WP_Tax_Query class erstellt wird. Dies ist ein bekannter Fehler, der wahrscheinlich für viele zukünftige Versionen vorhanden sein wird.

    Ich habe das vollständige Problem in dieser Antwort, die ich kürzlich gemacht habe, erklärt, also fühlen Sie sich frei, die ganzen 9 Yards zu lesen. Kurz gesagt, was grundsätzlich passiert, ist, dass WP_Tax_Query verwendet, um die Eingabe aus dem tax_query in einer tax_query . Diese function entfernt alle Leerzeichen und Sonderzeichen und konvertiert alle Großbuchstaben in Kleinbuchstaben. So wird ein Begriff wie My Term Name/2 in my-term_name2 konvertiert, was fehlschlägt, da dieser Begriff nicht existiert.

    Kurz gesagt, verwenden Sie das name Feld in einer tax_query nicht als Vorsichtsmaßnahme, sondern verwenden term_id eher term_id oder slug . Wenn Sie diese Werte nicht kennen, verwenden Sie get_term_by() , um den Begriff ID oder Slug aus dem Namen tax_query und dann an die tax_query

  • Sie sollten außerdem sicherstellen, dass Sie Beiträge aus Ihrer benutzerdefinierten Taxonomie und benutzerdefinierten Beitragstyp öffentlich abfragen können. Stellen Sie sicher, dass bei der Registrierung des Posttyps und der Taxonomie die richtigen Werte festgelegt sind