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( '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.
'post_name' => 'rebecca-atkinson',
'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
'name' => 'rebecca-atkinson'
Hope this helps someone in future.