我在category.php
的循环中遇到分页问题链接发送给我:?cat = 9& paged = 2不要在主页上显示帖子。
我的循环:
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('showposts=2&post_type=blog'.'&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
//CONTENT
endwhile;
get_template_part('pagination');
$wp_query = null;
$wp_query = $temp; // Reset
这是功能:
function silon_pagination($pages = '', $range = 4){
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged))
$paged = 1;
if($pages == ''){
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
$pages = 1;
}
if(1 != $pages){
echo "<div class=\"pagination\"><span>Strona ".$paged." z ".$pages."</span>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages)
echo "<a href='".get_pagenum_link(1)."'>« Pierwsza</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹ Poprzednia</a>";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages)
echo "<a href=\"".get_pagenum_link($paged + 1)."\">Następna ›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages)
echo "<a href='".get_pagenum_link($pages)."'>Ostatnia »</a>";
echo "</div>\n";
}
}
功能来自这里: http://design.sparklette.net/teaches/how-to-add-wordpress-pagination-without-a-plugin
请帮助:)
答案 0 :(得分:0)
看一下教程,我在主题中使用完全相同的分页功能。功能很棒。我不知道您使用get_template_part('pagination');
的原因silon_pagination();
可以简单地调用您的分页代替get_template_part('pagination');
答案 1 :(得分:0)
调试时我发现每页默认帖子选项应该小于query_posts函数中的任何自定义posts_per_page。就这样。很奇怪,但这就是事实。