О боги! Такое ощущение, что все начинающие работать с WordPress учатся по одному какому-то старому уроку, написанному таким же начинающим. Сколько уже исписано - не используйте
query_posts. Никогда!
Если нужно получить 1 пост - get_post()
Если нужно получить несколько постов вне контекста - get_posts()
Если нужно модифицировать основной запрос - фильтр pre_get_posts
Во всех остальных случаях - только WP_Query.
В вашей ситуации, если нужно, например, на главной странице, где уже есть основной запрос, дополнительно вывести блок с кастомными записями (участники), делайте secondary loop с помощью WP_Query:
$args = array(
'post_type' => 'participants' // или как там он у вас называется
'posts_per_page' => 5,
);
$participants = new WP_Query( $args );
// дальше - loop
if( $participants->have_posts() ) :
while( $participants->have_posts() ) :
$participants->the_post();
// тут выводим пост
endwhile;
endif;
wp_reset_postdata(); // возвращаем глобальные переменные к состоянию главного запроса
Если же нужно вывести архив ваших участников - просто создайте шаблон archive-participants.php (вместо participants - ваше название custom post types).
Если нужно, чтобы на главной или другом шаблоне участники выводились вперемешку вместе с обычными постами, или подобный сценарий - изменяете параметры основного запроса:
function my_modified_query( $query ) {
// вместо is_home - проверяйте на соответствующий задаче шаблон
// is_main_query - чтобы убедиться, что меняем именно основной запрос
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'post_type', 'participants' );
$query->set( 'posts_per_page', 20 );
}
}
add_action( 'pre_get_posts', 'my_modified_query' );
Судя по всему, английскую документацию вы либо не читали, либо сложно понять всю суть на английском. Есть отличный источник информации на русском:
wp-kama.ru/function/wp_query