У меня есть цикл с wp_query со следующим кодом:
<?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $wp_query->query("showposts=2&paged=$paged"); ?> <?php if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <?php the_title() ?> <?php endwhile; ?> <?php else: ?> <article> <h2><?php _e( 'Sorry, nothing to display.', 'theme' ); ?></h2> </article> <?php endif; my_pagination(); wp_reset_query()?>
со стандартным разбиением на страницы:
<?php function my_pagination() { global $wp_query; $big = 999999999; echo paginate_links(array( 'base' => str_replace($big, '%#%', get_pagenum_link($big)), 'format' => '?paged=%#%', 'current' => max(1, get_query_var('paged')), 'prev_text' => __('<i class="fa fa-chevron-left"></i>'), 'next_text' => __('<i class="fa fa-chevron-right"></i>'), 'total' => $wp_query->max_num_pages, )); } ?>
Отображение страницы отображается правильно на странице, но всякий раз, когда я нажимаю ссылку для разбивки на страницы, она выводит меня на страницу с ошибкой.
Пробовал все сейчас и понятия не имел, что может быть причиной этого.
Эми очень благодарна
С трудом с ним тоже 🙂 Было проще искать, когда я понял, что это неправильно рассчитанная почта на номер страницы, и вот волшебный трюк: (будет добавлен в functions.php)
function my_post_count_queries( $query ) { if (!is_admin() && $query->is_main_query()){ if(is_home()){ $query->set('posts_per_page', 1); } } } add_action( 'pre_get_posts', 'my_post_count_queries' );
Имела такую же проблему с пользовательским типом сообщения. У меня была петля на «page-template», а в разбивке на страницы было 404. Я предполагаю, что главная проблема здесь – это «slug» пользовательского типа сообщения, идентичного URL-адресу «шаблон страницы». Например, если у вас есть пользовательский тип «пул» типа «сообщение» и страница с тем же именем, разбиение на страницы на этой странице дает 404. Поэтому я просто изменил «слизню» на «архив-портфолио», и это помогло
вы можете изменить свой запрос
$wp_query= null; $wp_query = new WP_Query(); $wp_query->query("showposts=2&paged=$paged");
в
$wp_query = new WP_Query("showposts=2");
Это показано 2 сообщения на странице, и вы можете видеть и получать доступ к своей странице 2.