wordpress列表分页失效。
query_posts()函数,从而导致了分页代码无法正常解释。
一般修改为
<?php
//注意if判断之外的代码
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
//下面句中的limit=5这个参数就是我们每个分页所要显示的篇数
query_posts('&showposts=' . $limit=5 . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
if (have_posts()) :
?>
分页失败状况:页面是翻过去了,地址也变了,就是内容没变
猜测:使用query_posts()函数调用任何内容都很方便,
但是对分页导航或者默认的翻页不起作用,
包括用这个函数调用特定分类下的文章或者排除一个或几个分类下的文章时。
如果是用get_posts()函数效果一如query_posts()函数但是不会形成分页
解释:使用query_posts()函数调用文章,query_posts()函数会关闭对分页功能的呼叫(If you manipulate query_posts() directly,it turns off paging. Sorry.
在首页文件index.php中找到
<?php query_posts('showposts=9'); ?>
替换为
<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('&showposts=' . $limit=9 . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
可能的情况
1
分页问题
只显示第1页内容
分类下还有文章,第2页出现404(需要在后台的“阅读”设置显示篇数,和posts_per_page参数设置一样)
2
首页设置成文章页时发现文章分页失效了,后来发现是
$paged= get_query_var(‘paged’)? get_query_var(‘paged’):1;
这段分页函数在首页是得不到任何数据的。但是把上面的代码改为下面的样子的时候,又得到数据了:
$paged= get_query_var(‘page’)? get_query_var(‘page’):1;
page 和 paged,完全不同的两个参数!所以如果我们要把某个页面中的循环当作首页使用的时候,应该使用:
if(is_front_page()){
$paged = (get_query_var(‘page’)) ? get_query_var(‘page’) : 1;
}else{
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
}
3
分页第二页显示404
解决了,修改方式是把……
/%category%/%postname%/
改成
/%category%/%postname%.php
或者
/%category%/%postname%.html
查看论坛高手的解决办法
https://ask.csdn.net/questions/901494
看自己的代码综合调试,最后解决分页问题。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫