一般来说,目前所出现的主题上都很少会出现这个问题,因为这些最新文章列表都是在默认首页index.php上面的,其逻辑已经是固有的稳定的模式,绝不会出现任何的逻辑上的缺陷。但有些朋友可能需要在其他页面上或是直接新建一个页面,然后在这个新建页面上去调用最新的文章列表,然后让这些列表再可以自动进行分页,此时就很容易出现问题了,很多时候你会发现这个分页完全失效了,它可以读出目前所有分页的数量,但是点击却没有任何效果,并不像正常那样点击之后就会切换到相应的分页上面。
这个问题也是我最近才发现的,最近在做一个企业网站,这个企业网站带有博客的全部功能。
对于客户的这个要求,我只能新建一个页面来作为博客的首页,因为是新建的页面上,上面的东西全需要调用,也就是说我们现在的这个新建页面被当做wordpress博客的首页来使用了。
调用最新文章列表并不是太难,不会的可以在本站内进行相关的搜索,有专门的文章对此进行介绍。
但这个分页为啥会失效呢?
原因很是简单,就是因为我们在调用代码中使用了query_posts()函数,从而导致了分页代码无法正常解释,要想解决这个问题很是简单,只要找到query_posts()的代码,比如:
<?php
query_posts('showposts=9');
//每个主题的此部分代码可能不同
//下面的if判断是我所写主题的一个判断
//在修改时您仅仅只要修改掉query_posts函数部分就行了
if (have_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()) :
?>
OK了!问题已经解决了,也不头疼了,也不抽筋了,也不腰酸了。
(责任编辑:最模板) |