Wordpress:'post_name'上的WP_Query搜索条件

时间:2011-09-29 16:10:42

标签: php wordpress content-management-system

我正在使用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);

?>

非常感谢您的帮助。如果我能看到如何搜索这个特定的'slug',那就太棒了。

非常感谢, 迈克尔。

2 个答案:

答案 0 :(得分:12)

而不是

'post_name' => 'rebecca-atkinson',

使用:

'name' => 'rebecca-atkinson',

答案 1 :(得分:6)

除了我在上述评论中的回答,我还以为我也将其作为正式答案发布:

我必须使用'name' NOT 'post_name'

例如:

'name' => 'rebecca-atkinson' 

希望这有助于将来。