开发者

Wordpress: WP_Query search criteria on 'post_name'

开发者 https://www.devze.com 2023-04-09 03:21 出处:网络
I\'m using WP_Query (pretty standard). It all works great. However, I have a particular modification to make, where, if the user enters the specific post name in the URL, the search will return only

I'm using WP_Query (pretty standard). It all works great.

However, I have a particular modification to make, where, if the user enters the specific post name in the URL, the search will return only the post that matches that post_name value.

See my code below with a comment about the particular line not working.

<?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(
            开发者_Go百科'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);

?>

Your help would be greatly appreciated. If I could just see how to search on this specific 'slug' then that would be great.

Many thanks, Michael.


Instead of

'post_name' => 'rebecca-atkinson',

use:

'name' => 'rebecca-atkinson',


In addition to my answer in the comments above, I thought I'd post it as an official answer too:

I have to use 'name' and NOT 'post_name'.

For example:

'name' => 'rebecca-atkinson' 

Hope this helps someone in future.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号