webentwicklung-frage-antwort-db.com.de

Was macht query_var in register_taxonomy?

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 über WP_Query wie new WP_Query(array('people'=>$person_name)) und URL-Abfragen wie /?people=$person_name verwendet. Wenn Sie query_var auf false setzen, werden diese Methoden deaktiviert. Sie können jedoch weiterhin Posts mit einer expliziten WP_Query-Taxonomie-Abfrage wie WP_Query(array('taxonomy'=>'people', 'term'=>$person_name)) abrufen.

Könnte jemand bitte erklären?

1
kanenas

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

4
Pieter Goosen