wordpress主题首页与分类页的分页怎样实现?

来自:互联网
时间:2020-03-25
阅读:
制作wordpress主题时,首页、分类页、搜索页的分页效果是需要考量的,尤其是wordpress博客类主题,首页也是需要考虑在内的。如果分页设置不好,就有可能出现有些分页出现404的现象,我就曾经碰到过这样一个主题:首页分页效果正常,分类页后几页出现404现象。下面提供2种方案分页。DZE免费资源网
DZE免费资源网
方案1:首页与分类页的分页放到1个勾子里。DZE免费资源网
DZE免费资源网
在function.php文件里添加如下代码:DZE免费资源网
DZE免费资源网
function custom_posts_per_page($query){DZE免费资源网
if(is_home()){DZE免费资源网
$query->set('posts_per_page',8);//首页每页显示8篇文章DZE免费资源网
}DZE免费资源网
if(is_search()){DZE免费资源网
$query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页DZE免费资源网
}DZE免费资源网
if(is_archive()){DZE免费资源网
$query->set('posts_per_page',25);//archive每页显示25篇文章DZE免费资源网
}DZE免费资源网
}DZE免费资源网
add_action('pre_get_posts','custom_posts_per_page');DZE免费资源网
DZE免费资源网
方案2、首页与分类页分页分开放到2个不同的勾子里。DZE免费资源网
DZE免费资源网
首页与分类文章每页数量分开来设置:DZE免费资源网
DZE免费资源网
//限制首页文章每页数量DZE免费资源网
function custom_posts_per_page($query){DZE免费资源网
if(is_home()){DZE免费资源网
$query->set('posts_per_page',8);//首页每页显示8篇文章DZE免费资源网
}DZE免费资源网
}DZE免费资源网
add_action('pre_get_posts','custom_posts_per_page');DZE免费资源网
DZE免费资源网
//限制分类页文章每页数量DZE免费资源网
function custom_posts_per_page2($query){DZE免费资源网
if(is_archive()){DZE免费资源网
$query->set('posts_per_page',25);//archive每页显示25篇文章DZE免费资源网
}//endifDZE免费资源网
}DZE免费资源网
add_action('pre_get_posts','custom_posts_per_page2');DZE免费资源网
DZE免费资源网
这样,就不需要在循环中来设置每页显示文章数量,避免“最后一页404”的情况发生。DZE免费资源网
DZE免费资源网
注:在列表循环 query_posts()中,不要再使用posts_per_page来限制数量,可以使用showposts 来限制。
返回顶部
顶部