Я использую 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); ?>
Ваша помощь будет принята с благодарностью. Если бы я мог просто посмотреть, как искать этот конкретный «слизень», тогда это было бы здорово.
Большое спасибо, Майкл.
Вместо
'post_name' => 'rebecca-atkinson',
использовать:
'name' => 'rebecca-atkinson',
В дополнение к моему ответу в комментариях выше, я думал, что опубликую его в качестве официального ответа:
Я должен использовать 'name'
и NOT 'post_name'
.
Например:
'name' => 'rebecca-atkinson'
Надеюсь, это поможет кому-то в будущем.