我正在使用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',那就太棒了。
非常感谢, 迈克尔。
答案 0 :(得分:12)
而不是
'post_name' => 'rebecca-atkinson',
使用:
'name' => 'rebecca-atkinson',
答案 1 :(得分:6)
除了我在上述评论中的回答,我还以为我也将其作为正式答案发布:
我必须使用'name'
和 NOT 'post_name'
。
例如:
'name' => 'rebecca-atkinson'
希望这有助于将来。