новый WP_Query испортил разбивку на страницы

Я искал решение для отображения отдельного количества сообщений специально для архивных страниц и думал, что придумал какой-то рабочий код, однако я вижу, что это испортит разбивку на страницы. В основном на странице 2 архива отображаются те же сообщения, что и на первой странице архива. Ссылка: http://hvamgolfklubb.no/category/ukategorisert/

Код:

<?php /* Sets the amount of posts to display for $querycat */ $querycat = new WP_Query( 'posts_per_page=4' ); ?> <?php /* Start the Loop */ while ( $querycat->have_posts() ) : $querycat->the_post(); /* Display $querycat amount of posts */ /* Include the post format-specific template for the content. If you want to * this in a child theme then include a file called called content-___.php * (where ___ is the post format) and that will be used instead. */ get_template_part( 'content', get_post_format() ); endwhile; wpbeginner_numeric_posts_nav(); ?> 

Любая помощь приветствуется. Я знаю, что это не цифровая разбивка на страницы, которая испортилась, так как она вела себя так, как это было до ее реализации. Я все еще новичок в PHP, но улучшаюсь каждый день, поэтому, пожалуйста, поделитесь лучшим решением, если вы знаете о нем.

Solutions Collecting From Web of "новый WP_Query испортил разбивку на страницы"

Если я правильно вас понимаю, вы просто хотите отобразить другое количество сообщений в архивах, для этого вам вообще не нужен специальный вторичный запрос. Вы можете управлять им с помощью pre_get_posts hook, используя параметр posts_per_page или posts_per_archive_page .

Пример для pre_get_posts

 function wpse188786_different_number_of_posts_for_archive_ppp( $query ) { if ( !is_admin() && $query->is_main_query() ) { if ( $query->is_archive ) { $query->set( 'posts_per_page', 4 ); } } } add_action( 'pre_get_posts','wpse188786_different_number_of_posts_for_archive_ppp' ); 

Пример для posts_per_archive_page

 function wpse188786_different_number_of_posts_for_archive_ppap( $query ) { if ( !is_admin() && $query->is_main_query() ) { // no $query->is_archive check needed, because posts_per_archive_page // does override, when $query->is_archive or $query->is_search is true $query->set( 'posts_per_archive_page', 4 ); } } add_action( 'pre_get_posts','wpse188786_different_number_of_posts_for_archive_ppap' );