Всякий раз, когда вы работаете с пользовательскими типами постов, и ваш запрос ничего не возвращает, но вы чувствуете, что все сделали правильно ... перейдите и сбросьте постоянные ссылки, посетив Настройки >> Постоянные ссылки. Выберите По умолчанию нажмите Сохранить изменения , затем переключите его обратно на Имя публикации и нажмите Сохранить изменения еще раз.
Кроме того, вы можете изменить свой основной запрос и просто сделать так, чтобы ваш шаблон архива возвращал результаты, без необходимости нового объекта WP_Query.
Я бы использовал хук pre_get_posts
в вашем случае, и я бы отфильтровал основной запрос. Добавьте следующий код в ваши functions.php
function set_posts_per_page_for_custom_cpt( $query ) {
if ( !is_admin() && $query->is_main_query() && is_post_type_archive( 'CustomPostType' ) )
{
$query->set( 'posts_per_page', '10' );
}
}
add_action( 'pre_get_posts', 'set_posts_per_page_for_custom_cpt' );
Поместите этот код в файл functions.php.
Надеюсь, это поможет