Wordpress: критерии поиска WP_Query для 'post_name' - PullRequest
7 голосов
/ 29 сентября 2011

Я использую WP_Query (довольно стандартный).Все это прекрасно работает.

Тем не менее, я должен внести конкретную модификацию, где, если пользователь вводит конкретное имя поста в URL, поиск будет возвращать только пост, который соответствует этому значению post_name.

См. Мой код ниже с комментарием о том, что конкретная строка не работает.

<?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);

?>

Ваша помощь будет принята с благодарностью.Если бы я мог просто посмотреть, как искать этот конкретный «слизень», это было бы здорово.

Большое спасибо, Майкл.

Ответы [ 2 ]

12 голосов
/ 01 июня 2012

вместо

'post_name' => 'rebecca-atkinson',

использование:

'name' => 'rebecca-atkinson',
6 голосов
/ 27 февраля 2013

В дополнение к моему ответу в комментариях выше, я решил опубликовать его как официальный ответ:

Я должен использовать 'name' и НЕ 'post_name'.

Например:

'name' => 'rebecca-atkinson' 

Надеюсь, это поможет кому-то в будущем.

...