Was passiert, wenn in
register_taxonomy( $taxonomy, $object_type, $args )
Ich setze query_var
argument auf true?
Ich las hier das
query_var
(Boolescher Wert oder Zeichenfolge) (optional) Falsch, um die Abfragevariable zu deaktivieren. Als Zeichenfolge wird die benutzerdefinierte Abfragevariable anstelle der Standardeinstellung $ taxonomy, des "Namens" der Taxonomie, festgelegt.
Voreinstellung: $ taxonomy
Hinweis: Der
query_var
wird für direkte Abfragen überWP_Query
wienew WP_Query(array('people'=>$person_name))
und URL-Abfragen wie/?people=$person_name
verwendet. Wenn Siequery_var
auf false setzen, werden diese Methoden deaktiviert. Sie können jedoch weiterhin Posts mit einer explizitenWP_Query
-Taxonomie-Abfrage wieWP_Query(array('taxonomy'=>'people', 'term'=>$person_name))
abrufen.
Könnte jemand bitte erklären?
Ich bin mir nicht sicher, wie ich das genauer erklären soll oder besser als es bereits im Codex erklärt ist, aber hier sind ein paar Anmerkungen
IMHO, 'query_var' => true
fügt Ihrer Taxonomie oder anderen Funktionen, die sich auf Ihre Taxonomie beziehen, keinen angemessenen Wert hinzu
Wenn ich die Dokumente lese und query_var
auf true setze, ist es möglich, Posts von einem bestimmten Begriff wie folgt abzufragen
$args = [
'{tax}' => '{term-slug}'
];
$q = new WP_Query( $args );
Zuallererst wird diese Syntax ab Version 3.1 abgeschrieben und durch einen korrekten tax_query
ersetzt, der gegenüber der obigen Syntax weitaus mehr Vorteile bietet, z. B. das Verschachteln, Abfragen von Posts mit unterschiedlichen Beziehungen und das Einschließen und/oder Ausschließen bestimmter Begriffe etc etc Die korrekte Syntax lautet jetzt
$args = [
'tax_query' = [
'relation' => 'AND' // or 'OR' . RELATIONSHIP BETWEEN TWO OR MORE SETS OF TAX ARRAYS
[
'taxonomy' => '{tax}',
'field' => 'CAN BE term_id TO PASS TERM IDS, slug FOR TERM SLUGS OR name FOR TERM NAMES',
'terms' => 'TERM VALUES ACCORDING TO field SET',
'include_children' => true OR false, // true INCLUDES ALL CHILD TERMS OF GIVEN TERM, false EXCLUDES CHILD TERMS
'operator' => 'IN' // or 'NOT IN'. SHOULD POSTS BE IN THE GIVEN TERM OR NOT
],
],
];
$q = new WP_Query( $args );
Zweitens sind alle Vorteile der tax_query
-Syntax, wie Sie aus dem Obigen ersehen können. Mit Version 4.1 wurde eine komplexe Verschachtelungsfunktion eingeführt, mit der Sie noch komplexere Steuerabfragen erstellen können
Wenn query_var
auf true gesetzt wird, werden die relevanten Abfragevariablen für die Verwendung auf Taxonomieseiten zur Verfügung gestellt ( Ich bin mir nicht sicher, ob dies der Fall ist ), ist dies jedoch immer noch nutzlos, da auf das aktuell abgefragte Objekt zugegriffen werden kann mit get_queried_object()
Es gibt also keinen Vorteil, query_var
auf true
zu setzen. Es ist eine rein persönliche Entscheidung, wenn Sie Zeit und Raum damit verschwenden möchten, sie aufzuschreiben