[英]How to display pagination with custom loop?
我整天都在搜尋StackOverflow,以尋找解決問題的方法。 出於某種原因,我無法使用分頁功能來使此循環正常工作。 起初,我使用的是“ query_posts”,雖然每個頁面都有相同的帖子,但這種方法還是有效的。 這是我的代碼...
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'cat' => '319',
'posts_per_page' => 8,
'paged' => $paged
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
/* The Loop */
while ( $loop->have_posts() ) {
$loop->the_post();
// do something
echo '<li>';
echo '<a class="syncopate" href="';
the_permalink();
echo '">';
the_title();
echo '</a>';
echo '</li>';
}
} ?>
<div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div>
<div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div>
<?php wp_reset_query(); ?>
看來這應該工作,但是為什么不呢?
這就是在pagination.php中調用的函數。
function html5wp_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')),
'total' => $wp_query->max_num_pages
));
}
因此,這最終為我工作。 誰能確切地向我解釋為什么這行得通,而我的原始代碼卻行不通?
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query -> query('cat=319&posts_per_page=10'.'&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<div class="post">
<?php echo '<li>';
echo '<a class="syncopate" href="';
the_permalink();
echo '">';
the_title();
echo '</a>';
echo '</li>'; ?>
</div>
<?php endwhile; // end of the loop. ?>
<div class="pagenav">
<div class="alignleft"><?php previous_posts_link('Previous') ?></div>
<div class="alignright"><?php next_posts_link('Next') ?></div>
</div>
<?php $wp_query = null; $wp_query = $temp; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.