WordPress: WP_Query-Suchkriterien für ‘post_name’

Lesezeit: 2 Minuten

Ich verwende WP_Query (ziemlich Standard). Es funktioniert alles super.

Ich muss jedoch eine bestimmte Änderung vornehmen, bei der, wenn der Benutzer den spezifischen Postnamen in die URL eingibt, die Suche nur den Post zurückgibt, der diesem post_name-Wert entspricht.

Siehe meinen Code unten mit einem Kommentar dazu, dass die bestimmte Zeile nicht funktioniert.

<?php

$getPeople = array(
    'post_type' => 'person',
    'posts_per_page' => -1,
    // I want this below to only return me the post with this specific value.
    // This doesn't error, but doesn't work either.
    // I know it seems counter-productive to a 'search' but this particular case requires it.
    // This has a hard-coded value at the moment.
    'post_name' => 'rebecca-atkinson',
    'orderby' => 'meta_value',
    'meta_key' => 'last-name',
    'order' => 'ASC',

    'meta_query' => array(
        array(
            'key' => 'gender',
            'value' => $theGender,
        )
    ),

    'tax_query' => array(

        'relation' => 'OR',

        array(
            'taxonomy' => 'accent',
            'field' => 'slug',
            'terms' => $theAccent,
            'operator' => 'IN',
        ),
        array(
            'taxonomy' => 'style',
            'field' => 'slug',
            'terms' => $theStyle,
            'operator' => 'IN',
        ),
        array(
            'taxonomy' => 'age',
            'field' => 'slug',
            'terms' => $theAge,
            'operator' => 'IN',
        ),

    )
);

$myposts = new WP_Query($getPeople);

?>

Ihre Hilfe wäre sehr dankbar. Wenn ich nur sehen könnte, wie man nach dieser speziellen “Schnecke” sucht, wäre das großartig.

Vielen Dank, Michael.

  • Es ist in Ordnung, ich habe es herausgefunden! Ich muss ‘name’ und NICHT ‘post_name’ verwenden. ‘name’ => ‘rebecca-atkinson’,

    – Michael Giovanni Pumo

    29. September ’11 um 16:41

  • wordpress.stackexchange.com/a/18715/22616

    – softsdev

    27. Februar ’13 um 12:12

Anstatt

'post_name' => 'rebecca-atkinson',

benutzen:

'name' => 'rebecca-atkinson',

  • Nett.. Ich könnte es damit zum Laufen bringen.. Aber gibt es dafür eine Erklärung?

    – Leonardo

    30. September ’15 um 13:28

  • Überprüfen Sie die WP_Query-Dokumentation. post_name ist kein gültiger Abfrageparameter. Sehen: codex.wordpress.org/Class_Reference/WP_Query

    – sxalexander

    30. September ’15 um 23:19

Zusätzlich zu meiner Antwort in den obigen Kommentaren dachte ich, ich würde es auch als offizielle Antwort posten:

Ich muss benutzen 'name' und NICHT 'post_name'.

Beispielsweise:

'name' => 'rebecca-atkinson' 

Hoffe das hilft in Zukunft jemandem.

  • So nervig, dass sie ‘name’ statt ‘post_name’ verwenden, was keinen Sinn macht, da alles andere das ‘post_’-Präfix hat! Wenn Sie sich die Dokumentation ansehen, um es für die order_by-Klausel noch verwirrender zu machen, heißt es, dass bei der Bestellung nach Postname sowohl ‘name’ als auch ‘post_name’ akzeptiert werden.

    – Andrew Schultz

    17. Juli ’18 um 6:49


.

390360cookie-checkWordPress: WP_Query-Suchkriterien für ‘post_name’

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy