Как заставить мой цикл разбиться на страницы?

Ниже приведен фрагмент кода, который появляется на одной из моих страниц: Featured. Я создал шаблон, а затем создал страницу и активировал шаблон в wp-admin. Однако, когда я нажимаю кнопку для разбивки на страницы на страницу 2, которая выглядит примерно так: http://example.com/featured/page/2, следующая страница отображается пустым без содержимого (и у меня есть много контента в соответствующих категориях для отображения.) Любые идеи, что может быть неправильно здесь? Дайте мне знать, если вам нужно уточнить мою проблему и / или код.

Все функции

<!-- Featured Loop --> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type'=> 'post', 'category_name' => 'featured-content, podcast', 'posts_per_page' => 10, 'paged'=> $paged ); $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query($args); if (function_exists('wp_pagenavi')) { wp_pagenavi(); } if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail('featured'); ?> </a> <div class="meta"> <p class="title"><?php the_title(); ?></p> <br> <p class="author">By <?php the_author(); ?></p> </div> </article> <!-- /Featured Loop --> <?php endwhile; endif; ?> <!-- /Featured Loop --> <!-- Older/Newer Pagination --> <?php if ($wp_query->max_num_pages > 1) : ?> <?php next_posts_link( __( '<span class="arrow">&larr;</span> Older' ) ); ?> <?php previous_posts_link( __( 'Newer <span class="arrow">&rarr;</span>' ) ); ?> <?php endif; ?> <!-- /Older/Newer Pagination --> <?php /* PageNavi at Bottom */ if (function_exists('wp_pagenavi')){wp_pagenavi();} $wp_query = null; $wp_query = $temp; wp_reset_query(); ?> <!-- /Featured Loop --> 

Solutions Collecting From Web of "Как заставить мой цикл разбиться на страницы?"

В functions.php

 function my_theme_navigation() { global $shortname; if( get_option( $shortname . '_next_prev_or_paginate' ) == 'Next' ) : // the block for next-prev navigation echo '<div style="float:left">'; next_posts_link('Older'); echo '</div>'; echo '<div style="float:right">'; previous_posts_link ('Newer'); echo '</div>'; else : // the block for pagination global $wp_query; $big = 999999999; // need an unlikely integer echo paginate_links( array( 'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ), 'format' => '?paged=%#%', 'end_size' => 1, 'mid_size' => 2, 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); endif; } 

Затем замените

 <!-- Older/Newer Pagination --> <?php if ($wp_query->max_num_pages > 1) : ?> <?php next_posts_link( __( '<span class="arrow">&larr;</span> Older' ) ); ?> <?php previous_posts_link( __( 'Newer <span class="arrow">&rarr;</span>' ) ); ?> <?php endif; ?> <!-- /Older/Newer Pagination --> <?php /* PageNavi at Bottom */ if (function_exists('wp_pagenavi')){wp_pagenavi();} $wp_query = null; $wp_query = $temp; wp_reset_query(); ?> 

С…

 <?php my_theme_navigation(); ?> 

ваш код был немного грязным, но работал на меня.

Я немного почистил, и он отлично работает для меня. Я использовал чистую установку WP 3.5 с плагином WP-PageNavi.

Я использовал 2 категории (тест, новости) и 1 сообщение на странице, поэтому вам придется изменить его на свои нужды.

 <?php $temp = $wp_query; $wp_query = null; $wp_query_args = array( 'post_type'=> 'post', 'category_name' => 'news, test', 'posts_per_page' => 1, 'paged'=> $paged ); $wp_query = new WP_Query( $wp_query_args ); if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail('featured'); ?> </a> <div class="meta"> <p class="title"><?php the_title(); ?></p> <br> <p class="author">By <?php the_author(); ?></p> </div> </article> <!-- /Featured Loop --> <?php endwhile; endif; ?> <!-- /Featured Loop --> <?php wp_pagenavi(); ?> <?php $wp_query = null; $wp_query = $temp; // Reset ?> 

Я включил debug в wp-config.php, и он поворачивается, когда моя страница будет разбиваться на страницы, например featured / page / 2, вызывается нарушение кода после того, как голова, загруженная как неопределенная функция, вызывается. Я прокомментировал этот вызов функции в моих functions.php, и теперь мой оригинальный код работает. Спасибо за вашу помощь.