Pagination 404 on Index с пользовательским запросом

В моем индексе wordpress я использую настраиваемый запрос:

$paged = (get_query_var('page')) ? get_query_var('page') : 1; $project_query = new WP_query(array( 'post_type' => 'project', 'paged' => $paged, 'posts_per_page' => 5 )); 

Я использую wp-paginate для настройки нумерации страниц, но независимо от того, как только я попытаюсь перейти на следующую страницу, например: http://domain/page/2 я получаю ошибку 404.

Я действительно не могу, чтобы жизнь меня выясняла, что происходит. Я установил параметр чтения wordpress на тот же номер, и моя структура permalink имеет значение Post name .

Любые советы очень ценятся, я знаю, что разбиение на страницы 404 является общей проблемой для многих людей, но я не смог найти кого-то, у кого была такая же проблема с индексом.

независимо от того, существует или нет страница, или результат 404, определяется на основе результатов основного запроса, который происходит до загрузки шаблона. WordPress не «знает» вашего пользовательского запроса, он отделен от основного запроса и происходит, только если основной запрос приводит к загрузке содержащего его шаблона.

вместо создания этого пользовательского запроса вы можете изменить основной запрос перед его отправкой в ​​базу данных с помощью действия pre_get_posts . этот код будет включен в файл functions.php вашей темы:

 function wpa_front_page_projects( $query ) { if ( $query->is_front_page() && $query->is_main_query() ) { $query->set( 'post_type', array( 'project' ) ); $query->set( 'posts_per_page', 5 ); } } add_action( 'pre_get_posts', 'wpa_front_page_projects' );